`
zhaosoft
  • 浏览: 186281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts整合spring方法(二)

阅读更多
用Spring的DelegatingRequestProcessor类来代替struts中的RequestProcessor类,从而把struts中的action与Spring分离。并把struts的动作置于Spring框架的控制下。
1。新建一个登陆页面:loginDelegatingRequestProcessor.jsp
<%@page contentType="text/html;charset=GBK" isELIgnored="false"%>
<html>
<head><title>实现用户登录的Struts实例</title></head>
<body>
    <font size=’22’>${msg}<br></font>
    <form name="form1" action="/myLogin2/loginDelegatingRequestProcessor.do" method="post">
        用户名:<input type="text" name="username" value="${user.username}"/><br>
       密码:<input type="password" name="password" value="${user.password}"/><br>
        <input type="submit" name=”method” value="提交"/>
    </form>
</body>
</html>
 
2。创建一个存储登陆用户信息的类:User.java该类继承于ActionForm,代码如下:
package com.zhaosoft.bean;
 
import org.apache.struts.action.ActionForm;
 
publicclass User extends ActionForm {
 
    private String username=null;
    private String password=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,该类继承于strutsAction,代码示例如下:
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.domaincom.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 LoginImpl implements Login {
 
    private String msg;
    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插件,实例代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-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-bean name="user" type="com.zhaosoft.bean.User"></form-bean>
    </form-beans>
    <action-mappings>
       <action path="/loginDelegatingRequestProcessor"
           type="com.zhaosoft.action.LoginDelegationRequestProcessor"
           name="user">
           <forward name="login"
              path="/jsp/loginDelegatingRequestProcessor.jsp">
           </forward>
       </action>
       <action path="/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-property property="contextConfigLocation"
           value="/WEB-INF/spring-config.xml" />
    </plug-in>
</struts-config>
 
7. 编写Spring的配置文件spring-config.xml。放在WEB-INF目录中,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="login" class="com.zhaosoft.domain.impl.LoginImpl">
    </bean>
    <bean name="/loginDelegatingRequestProcessor" class="com.zhaosoft.action.LoginDelegationRequestProcessor">
    <property name="login">
    <ref bean="login"/>
    </property>
    </bean>
</beans>
 
  我喜欢的
浏览器
  我喜欢的
文化礼品
  我喜欢的
网站
FireFox 2.0
100部奥斯卡影片
博告网
   
   
  加入博告网日进斗金不是梦!
聚合到我的好诶网博告网 提供的广告
 
  我喜欢的
浏览器
  我喜欢的
文化礼品
  我喜欢的
ISP网站
  我喜欢的
网站
FireFox 2.0
100部奥斯卡影片
时代互联
博告网
   
   
  时代互联10元换空间
  加入博告网日进斗金不是梦!
聚合到我的好诶网博告网 提供的广告
分享到:
评论

相关推荐

    Struts2整合Spring、JPA

    Struts2整合Spring和JPA是企业级Java应用开发中常见的技术组合,它们分别负责不同的职责:Struts2作为一款成熟的MVC框架,主要用于处理Web层的请求与响应;Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和...

    Struts整合Spring步骤

    整合Spring** - **导入Spring的jar包**:首先,导入`spring.jar`,这是Spring框架的基本库。根据项目需求,可能还需要其他Spring模块的jar包。 - **创建applicationContext.xml**:在`WEB-INF`目录下创建`...

    struts 整合spring 例子,测试通过

    Struts2 和 Spring 整合是Java开发中常见的实践,主要目的是为了利用Spring的强大功能,如依赖注入(DI)和面向切面编程(AOP),同时保持Struts2的MVC架构的优势。以下是对整合过程的详细说明: 首先,Spring框架...

    struts和spring整合(两种实现方法)

    用DelegatingRequestProcessor和DelegatingActionProxy两种方法实现struts和spring的整合,不同的地方就在struts-config.xml文件中,当前文件中DelegatingRequestProcessor是注释的。

    Struts+Spring+Hibernet整合例子

    Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子

    整合Spring与Struts的几种方法

    接下来,有三种整合Spring和Struts的方法: 1. **继承Spring的ActionSupport类**:Action直接继承Spring的`ActionSupport`,并通过`ApplicationContext`获取服务。这种方式简单,但存在几个缺点:首先,Action与...

    Struts+Spring+Hibernate整合教程

    在整合Spring与Struts时,可以使用Spring提供的ActionSupport类来简化Spring中的Action的开发,或者通过覆盖Struts的RequestProcessor类以及将动作管理委托给Spring来实现更深层次的整合。同时,利用拦截器对Struts...

    struts+spring+hibernate整合

    通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...

    SSH整合源码(Struts+Spring+Hibernate整合用户注册例子)

    SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...

    struts1 spring ibatis整合项目源码

    struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码struts1 spring ibatis整合项目源码

    struts整合spring开发实例(二)

    这个"struts整合spring开发实例(二)"将继续上一部分的讲解,旨在帮助开发者理解这两个流行框架协同工作的机制。 Struts是一个强大的MVC(模型-视图-控制器)框架,用于构建可维护性高、结构清晰的Java Web应用。而...

    struts整合spring开发实例

    Struts和Spring是两个在Java Web开发中广泛使用的框架,它们各自解决了一部分问题,而将两者整合可以进一步提升应用的灵活性和可维护性。Struts主要负责MVC(Model-View-Controller)架构中的控制层,而Spring则是一...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    Struts+Spring+Hibernate整合教程.pdf

    整合Struts、Spring和Hibernate可以构建出高度模块化的应用,提高开发效率和代码质量。然而,随着Java EE技术的发展,现代Web应用更多地转向Spring Boot、Spring MVC和MyBatis等更现代的解决方案,它们在易用性、...

    struts2整合spring、hibernate的jar包

    在整合Struts2时,我们需要配置Spring的`spring-beans.jar`、`spring-context.jar`等,通过Spring的ApplicationContext加载bean,并将这些bean注入到Struts2的Action中,以实现业务逻辑的解耦。同时,Spring还提供了...

    struts2整合spring实现拦截器

    Struts2 和 Spring 的整合是Java Web开发中的常见实践,这两种框架的结合可以极大地提高应用的可维护性和灵活性。在本文中,我们将深入探讨如何实现Struts2与Spring的集成,以及利用拦截器来增强应用的功能。 首先...

    struts+spring+hibernate三大框架整合

    **Spring整合Struts** Spring整合Struts主要有三种方式: 1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`...

    struts和spring整合的2种方式

    本文将详细介绍两种整合Struts1与Spring的方法。 首先,我们需要理解这两个框架的基本概念。Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它专注于控制层,处理用户请求并转发到相应的...

Global site tag (gtag.js) - Google Analytics