Struts整合spring方法(二)
来源:互联网 发布:免费医药进销存软件 编辑:程序博客网 时间:2024/06/05 10:39
用Spring的DelegatingRequestProcessor类来代替struts中的RequestProcessor类,从而把struts中的action与Spring分离。并把struts的动作置于Spring框架的控制下。
1。新建一个登陆页面:loginDelegatingRequestProcessor.jsp
<%@pagecontentType="text/html;charset=GBK"isELIgnored="false"%>
<html>
<head><title>实现用户登录的Struts实例</title></head>
<body>
<fontsize=’22’>${msg}<br></font>
<formname="form1"action="/myLogin2/loginDelegatingRequestProcessor.do"method="post">
用户名:<inputtype="text"name="username"value="${user.username}"/><br>
密码:<inputtype="password"name="password"value="${user.password}"/><br>
<inputtype="submit"name=”method”value="提交"/>
</form>
</body>
</html>
2。创建一个存储登陆用户信息的类:User.java该类继承于ActionForm,代码如下:
package com.zhaosoft.bean;
import org.apache.struts.action.ActionForm;
publicclass Userextends ActionForm {
private Stringusername=null;
private Stringpassword=null;
public String getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username = username;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
}
3。在 Com.zhaosoft.action中新建一个LoginDelegationRequestProcessor.java,该类继承于struts的Action,代码示例如下:
package com.zhaosoft.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.zhaosoft.bean.User;
import com.zhaosoft.domain.Login;
public class LoginDelegationRequestProcessor extends Action {
private Login login;
public Login getLogin() {
return login;
}
public void setLogin(Login login) {
this.login = login;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String forwardJsp = "login";
getLogin().login((User) form);
request.setAttribute("msg", login.getMsg());
request.setAttribute("user", (User) form);
return mapping.findForward("login");
}
}
4。 新建包:com.zhaosoft.domain和com.zhaosoft.domain.impl在包com.zhaosoft.domain中新建一个接口:Login.java用来定义登陆的逻辑处理,示例代码如下:
package com.zhaosoft.domain;
import com.zhaosoft.bean.User;
publicinterface Login {
publicabstractvoid login(User user);
publicabstract String getMsg();
}
5. 在包com.zhaosoft.domain.impl中建立LoginImpl.java用来实现登陆的逻辑处理
package com.zhaosoft.domain.impl;
import com.zhaosoft.bean.User;
import com.zhaosoft.domain.Login;
publicclass LoginImplimplements Login {
private Stringmsg;
public String getMsg() {
returnthis.msg;
}
publicvoid login(User user) {
String username = user.getUsername();
String password = user.getPassword();
if (username ==null && password ==null) {
msg ="请输入用户名和密码";
}elseif ("".equals(username) || "".equals(password)) {
msg ="请输入用户名和密码";
}elseif ("zhaosoft".equals(username) && "zhaosoft".equals(password)) {
msg ="登陆成功";
}elseif (!"zhaosoft".equals(username)) {
msg ="用户名填写错误";
}
}
}
6.修改struts的配置文件struts-config.xml,注册ContextLoaderPlugIn插件,实例代码如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstruts-config PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<!--定义formbean-->
<form-beans>
<form-beanname="user"type="com.zhaosoft.bean.User"></form-bean>
</form-beans>
<action-mappings>
<actionpath="/loginDelegatingRequestProcessor"
type="com.zhaosoft.action.LoginDelegationRequestProcessor"
name="user">
<forwardname="login"
path="/jsp/loginDelegatingRequestProcessor.jsp">
</forward>
</action>
<actionpath="/loginDelegatingRequestProcessorTemp"
type="org.apache.struts.actions.ForwardAction"
parameter="/jsp/loginDelegatingRequestProcessor.jsp">
</action>
</action-mappings>
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-propertyproperty="contextConfigLocation"
value="/WEB-INF/spring-config.xml"/>
</plug-in>
</struts-config>
7. 编写Spring的配置文件spring-config.xml。放在WEB-INF目录中,代码如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbeans PUBLIC"-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<beanid="login"class="com.zhaosoft.domain.impl.LoginImpl">
</bean>
<beanname="/loginDelegatingRequestProcessor"class="com.zhaosoft.action.LoginDelegationRequestProcessor">
<propertyname="login">
<refbean="login"/>
</property>
</bean>
</beans>
- Struts整合spring方法(二)
- Struts整合spring方法(二)
- Spring , Struts整合方法
- Struts整合spring方法(三)
- struts整合Spring(2种方法)
- struts 2整合spring要注意的问题(二)
- spring与struts整合方式二
- Spring与struts的整合方法(转)
- Struts与Spring整合方法(网络抽取)
- Struts ,Hibernate ,Spring 常用整合配置方法.
- Struts+hibernate+Spring的整合方法
- struts整合spring的3中方法
- Struts 和 Spring 整合3种方法
- Struts 和 Spring 整合3种方法
- struts整合spring的3中方法
- Struts与Spring整合的方法
- struts整合spring的3中方法
- Spring整合Struts的三种方法
- vb.net2008 指定类名和方法名进行测试用的工具
- code
- S2SH开发中客户选择版国际化问题
- Multipath实现LUN设备名称的持久化
- 不到300行的简单线程池C++实现
- Struts整合spring方法(二)
- linux常用命令
- vb.net2008 启动画面专用类
- 通过继承实现edit控件的拖拽文件功能扩展的一般步骤
- kzalloc 函数详解
- 实数
- S2SH开发中拦截器的方法拦截的实现 MethodFilterInterceptor?
- Silverlight 获取Outlook下所有联系人帐号信息
- vb.net2008 swf Flash文件播放