2019独角兽企业重金招聘Python工程师标准>>>



开发一个Spring与Struts 2的整合项目的步骤如下。

1 创建Web项目Struts_Spring

2 添加Struts 2框架

添加Struts 2框架支持。

配置web.xml,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"><display-name>Struts_Spring</display-name><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>*.action</url-pattern></filter-mapping><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping>
</web-app>

3 创建login.jsp

login.jsp代码如下:

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head><title>登录界面</title>
</head>
<body>
<s:form action="login.action" method="post"><s:textfield name="xh" label="学号"/><s:password name="kl" label="口令"/><s:submit value="登录"/></s:form>
</body>
</html>

4 创建Action

LoginAction.java代码如下:

package org.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{private String xh;private String kl;public String getXh() {return xh;}public void setXh(String xh) {this.xh = xh;}public String getKl() {return kl;}public void setKl(String kl) {this.kl = kl;}public String execute() throws Exception {return SUCCESS;}
}

配置struts.xml文件,代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts><include file="struts-default.xml"/><package name="default" extends="struts-default" namespace="/"><action name="login" class="org.action.LoginAction"><result name="success">/login_success.jsp</result></action></package>
</struts>

5 创建login_success.jsp

代码如下:

<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body >
<h2>您好! <s:property value=" xh"/>欢迎您登录成功 </h2>
</body>
</html>

6 部署运行

部署,测试Struts 2是否正常。运行http://localhost:8080/Struts_Spring/login.jsp,在登录框和密码框中任意输入,单击【登录】按钮,转向登录成功界面,并输出登录名。

7 添加Spring框架

步骤同5.2.2节。

8 添加Spring支持包struts2-spring-plugin.jar

注意,一定要加入该包,该包位于Struts 2的lib目录下。

9 修改web.xml内容

修改web.xml内容,使得程序增加对Spring的支持。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"><display-name>Struts_Spring</display-name><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>*.action</url-pattern></filter-mapping><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>
</web-app>

10 创建消息包文件struts.properties

在src文件夹下创建struts.properties文件,使得Struts 2的类的生成交给Spring完成。步骤如下:右击项目的src文件夹,在弹出的菜单中选择【New】→【File】菜单项,之后在Enter or select the parent folder中输入struts2_spring/src,在File name栏中写入struts.properties,单击【确定】按钮。文件内容如下:

struts.objectFactory=spring

11 修改applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="loginAction" class="org.action.LoginAction"></bean>
</beans>

12 修改struts.xml

使得struts 2的类的生成交给Spring完成。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts><include file="struts-default.xml"/><package name="default" extends="struts-default" namespace="/"><action name="login" class="loginAction"><result name="success">/login_success.jsp</result></action></package>
</struts>

13 部署运行

附:目录《JavaEE基础实用教程》笔记说明

转载于:https://my.oschina.net/jerrypan/blog/633189

5.6 Spring与Struts 2整合应用相关推荐

  1. Spring与Struts框架整合

    Spring,负责对象对象创建 Struts,用Action处理请求 Spring与Struts框架整合,关键点:让struts框架action对象的创建,交给spring完成! 1.步骤: 引入ja ...

  2. java struct 简单案列_spring与struts简单整合案例

    Spring,负责对象对象创建 Struts, 用Action处理请求 Spring与Struts框架整合, 关键点:让struts框架action对象的创建,交给spring完成! 步骤: 1)引入 ...

  3. 小结spring和struts整合的三类方式

    小结spring和struts整合的三类方式 整合spring和hibernate的三种方式,小结之. 1) 在struts中使用webapplicationcontext调用spring     声 ...

  4. Struts2与Spring、Hibernate三者整合的过程示例

    转载地址:http://www.360doc.com/content/09/0416/09/61497_3148602.shtml# 原来spring配置文件自动生成数据源和整合先后有关系,留着做个提 ...

  5. SSM框架Spring+SpringMVC+MyBatis——详细整合教程

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参 ...

  6. Spring Boot 2.x整合Quartz

    宣传官网 xb.exrick.cn 在线Demo xboot.exrick.cn 开源版Github地址 github.com/Exrick/x-bo- 开发文档 www.kancloud.cn/ex ...

  7. velocity mybatis spring 在maven的整合开发(二)

    2019独角兽企业重金招聘Python工程师标准>>> 对于一个web项目,位于WEB-INFO下的web.xml永远是该项目的总配置. 我的web.xml <?xml ver ...

  8. Spring + JDBC + Struts联合开发(实现单表的CRUD)

    这里使用Spring + JDBC +Struts,完成新闻表的添加,修改,删除和查询功能. 建立数据库: [sql] view plain copy CREATE TABLE news_type ( ...

  9. Spring与Quartz的整合实现定时任务调度

    Spring与Quartz的整合实现定时任务调度 摘自: http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然 ...

最新文章

  1. 中setting怎么配置_用VSCode配置Latex
  2. datetime处理日期和时间
  3. LVTRM架构发布0.1测试版
  4. csv文件简介(转载)
  5. 执行系统命令,subprocess使用说明
  6. dubbo k8s 服务发现_服务化改造实践(二)| Dubbo + Kubernetes
  7. STL 之search,search_n,sort,binary_search
  8. python全栈开发 * 32知识点汇总 * 180717
  9. Python 中的 while循环 和 for... in ...循环
  10. mysql查询锁表及解锁
  11. zabbix监控oracle rac,CentOS6.9下zabbix3.4.9通过orabbix1.2.3来监控oracle11gRAC
  12. KITTI数据集下载链接
  13. Xcode12 兼容iOS14 及下载链接
  14. 掌勤综合劳务管理系统
  15. SAP-ABAP-OOALV方法实现程序源码,仅供参考
  16. Ubuntu下多网卡配置RTNETLINK answers: File exists的解决方案
  17. wing-loss pytorch
  18. HTL/TTL转光纤模块
  19. Android系统启动流程完整分析(一)
  20. Log4j“核弹级”bug修复

热门文章

  1. 使用中文输入法时对键盘事件的处理
  2. java(x ) 3的值_java中,设x=2,则表达式 (x++)*3的值是多少 设x=2则表达式(x+
  3. python信号与槽_Python信号和插槽(1),python,与,一
  4. post传值php取不到数据,post请求中的参数形式和form-data提交数据时取不到的问题...
  5. mysql查询时调用函数_【性能测试】性能测试时对Mysql数据库的慢查询监控
  6. lower() oracle,PLSQL LOWER用法及代码示例
  7. swift和python语法区别_Swift 基本语法
  8. html游戏键盘控制,键盘控制方块移动.html
  9. mysql date_trunc_com.mysql.jdbc.MysqlDataTruncation: Data trunca...
  10. 基于pyBoard的进一步的一些测试实验,MC3008