SSH框架之Structs2

本文详细介绍了Struts2与SpringMVC的整合过程,包括配置核心控制器、设置web.xml、启动Spring环境、创建Action的不同方式,以及跳转的实现方法。通过实例展示了如何在Struts2中使用Spring进行依赖注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,控制层框架 与 springmvc 效果相同
作用:  数据处理    调用后台代码    产生响应     异常处理    国际化
2,核心控制器
    1. springMVC  ---> DispatcherServlet
    2. Struts2    ---> 2.1.3之前版本       FilterDispatcher
    3. 2.1.3开始           StrutsPrepareAndExecuteFilter
3,配置核心文件 web.xml
<filter>
          <filter-name>struts2</filter-name>
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
     <filter-mapping>
          <filter-name>struts2</filter-name>
          <url-pattern>/*</url-pattern>
     </filter-mapping>
4,启动Spring
<!-- 启动spring -->
     <listener>
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
     <!-- 如果applicationContext.xml是放在src下的 必须是/WEB-INF/classes/applicationContext.xml -->
     <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:applicationContext.xml</param-value>
     </context-param>
     <!-- 启动spring -->
5,创建Action三种方式
普通java类 属性注入 POJO
public class LoginAction {
     //属性注入
     private String username;
     private String password;
     
     public String execute() {
          
          System.out.println(username+"\t"+password);
          
          if("admin".equals(username)&&"123".equals(password)){
              //request.setAttribute("name",username);
              return "success";
          }else{
              return "error";
          }
          
     }
     
     public String getUsername() {
          return username;
     }
     public void setUsername(String username) {
          this.username = username;
     }
     public String getPassword() {
          return password;
     }
     public void setPassword(String password) {
          this.password = password;
     }
     
}
 
实现 action/模型驱动
public class LoginAction2 implements Action,ModelDriven<User>{
     private User user = new User();
     
     public String execute() {
          System.out.println(user.getUsername() + "\t" + user.getPassword());
          return "success";
     }
     public User getModel() {
          return user;
     }
}
 
继承 actionSupport
 
public class LoginAction3 extends ActionSupport {
     private User user;
     public User getUser() {
          return user;
     }
     public void setUser(User user) {
          this.user = user;
     }
     @Override
     public String execute() throws Exception {
          System.out.println(user.getUsername() + "\t" + user.getPassword());
          return SUCCESS;
     }
}
6,跳转方式
 
默认跳转为请求转发
重定向方式的跳转配置
 

转载于:https://www.cnblogs.com/yuanlinjie/p/9871080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值