《struts2权威指南》学习笔记之struts2整合Spring

By | 03月14日
Advertisement

整合Spring,换句话说,也就是让spring的IOC功能为我们的struts action注入逻辑组件

首先需要加载struts2-spring-plugin-2.0.6.jar这个包,这个是关键,他可以帮我们把struts2和spring仅仅整合在一起

首先是web.xml

《struts2权威指南》学习笔记之struts2整合Spring
<?xml version="1.0" encoding="utf-8"?>
《struts2权威指南》学习笔记之struts2整合Spring
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
《struts2权威指南》学习笔记之struts2整合Spring
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
《struts2权威指南》学习笔记之struts2整合Spring
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<context-param>
《struts2权威指南》学习笔记之struts2整合Spring
<param-name>contextConfigLocation</param-name>
《struts2权威指南》学习笔记之struts2整合Spring
<param-value>/WEB-INF/bean.xml</param-value>
《struts2权威指南》学习笔记之struts2整合Spring
</context-param>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<listener>
《struts2权威指南》学习笔记之struts2整合Spring
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
《struts2权威指南》学习笔记之struts2整合Spring
</listener>
《struts2权威指南》学习笔记之struts2整合Spring
<filter>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-name>struts2</filter-name>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
《struts2权威指南》学习笔记之struts2整合Spring
</filter>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<filter-mapping>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-name>struts2</filter-name>
《struts2权威指南》学习笔记之struts2整合Spring
<url-pattern>/*</url-pattern>
《struts2权威指南》学习笔记之struts2整合Spring
</filter-mapping>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<filter>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-name>aaa</filter-name>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class>
《struts2权威指南》学习笔记之struts2整合Spring
</filter>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<filter-mapping>
《struts2权威指南》学习笔记之struts2整合Spring
<filter-name>aaa</filter-name>
《struts2权威指南》学习笔记之struts2整合Spring
<url-pattern>/*</url-pattern>
《struts2权威指南》学习笔记之struts2整合Spring
</filter-mapping>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
</web-app>
《struts2权威指南》学习笔记之struts2整合Spring

其次是struts2.xml

《struts2权威指南》学习笔记之struts2整合Spring
<?xml version="1.0" encoding="GBK"?>
《struts2权威指南》学习笔记之struts2整合Spring
<!DOCTYPE struts PUBLIC
《struts2权威指南》学习笔记之struts2整合Spring
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
《struts2权威指南》学习笔记之struts2整合Spring
"http://struts.apache.org/dtds/struts-2.0.dtd">
《struts2权威指南》学习笔记之struts2整合Spring
<struts>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<package name="lee" extends="struts-default">
《struts2权威指南》学习笔记之struts2整合Spring
<action name="login" class="loginAction">
《struts2权威指南》学习笔记之struts2整合Spring
<result name="error">/error.jsp</result>
《struts2权威指南》学习笔记之struts2整合Spring
<result name="success">/welcome.jsp</result>
《struts2权威指南》学习笔记之struts2整合Spring
</action>
《struts2权威指南》学习笔记之struts2整合Spring
</package>
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
</struts>

最关键的是bean.xml,完成为struts2 action的注入

《struts2权威指南》学习笔记之struts2整合Spring
<?xml version="1.0" encoding="GBK"?>
《struts2权威指南》学习笔记之struts2整合Spring
<!-- 定义Spring配置文件的根元素,并指定Schema信息 -->
《struts2权威指南》学习笔记之struts2整合Spring
<beans xmlns="http://www.springframework.org/schema/beans"
《struts2权威指南》学习笔记之struts2整合Spring
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
《struts2权威指南》学习笔记之struts2整合Spring
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
<bean id="myService" class="lee.MyServiceImpl"/>
《struts2权威指南》学习笔记之struts2整合Spring
<bean id="loginAction" class="lee.LoginAction" scope="prototype">
《struts2权威指南》学习笔记之struts2整合Spring
<property name="ms" ref="myService"/>
《struts2权威指南》学习笔记之struts2整合Spring
</bean>
《struts2权威指南》学习笔记之struts2整合Spring
</beans>
《struts2权威指南》学习笔记之struts2整合Spring

LoginAction

《struts2权威指南》学习笔记之struts2整合Spring
package lee;
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
import com.opensymphony.xwork2.Action;
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public class LoginAction implements Action ...{
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
private String username;
《struts2权威指南》学习笔记之struts2整合Spring
private String password;
《struts2权威指南》学习笔记之struts2整合Spring
private String tip;
《struts2权威指南》学习笔记之struts2整合Spring
private MyService ms;
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public String getUsername() ...{
《struts2权威指南》学习笔记之struts2整合Spring
return username;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public void setUsername(String username) ...{
《struts2权威指南》学习笔记之struts2整合Spring
this.username = username;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public String getPassword() ...{
《struts2权威指南》学习笔记之struts2整合Spring
return password;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public void setPassword(String password) ...{
《struts2权威指南》学习笔记之struts2整合Spring
this.password = password;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public String getTip() ...{
《struts2权威指南》学习笔记之struts2整合Spring
return tip;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public void setTip(String tip) ...{
《struts2权威指南》学习笔记之struts2整合Spring
this.tip = tip;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public String execute() throws Exception ...{
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
if(ms.valid(this.getUsername(), this.getPassword()))...{
《struts2权威指南》学习笔记之struts2整合Spring
return SUCCESS;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
else...{
《struts2权威指南》学习笔记之struts2整合Spring
return ERROR;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public MyService getMs() ...{
《struts2权威指南》学习笔记之struts2整合Spring
return ms;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
public void setMs(MyService ms) ...{
《struts2权威指南》学习笔记之struts2整合Spring
this.ms = ms;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

MyService及实现

《struts2权威指南》学习笔记之struts2整合Spring
package lee;
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
public interface MyService
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
...{
《struts2权威指南》学习笔记之struts2整合Spring
boolean valid(String username , String pass);
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
package lee;
《struts2权威指南》学习笔记之struts2整合Spring

《struts2权威指南》学习笔记之struts2整合Spring
public class MyServiceImpl implements MyService
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
...{
《struts2权威指南》学习笔记之struts2整合Spring
public boolean valid(String username , String pass)
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
...{ System.out.println(username);
《struts2权威指南》学习笔记之struts2整合Spring
if (username.equals("高") && pass.equals("1234") )
《struts2权威指南》学习笔记之struts2整合Spring
《struts2权威指南》学习笔记之struts2整合Spring
...{
《struts2权威指南》学习笔记之struts2整合Spring
return true;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring
return false;
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring
}
《struts2权威指南》学习笔记之struts2整合Spring

struts.properties

struts.i18n.encoding=gb2312

login.jsp

   <%@ page contentType="text/html; charset=gb2312"%>

<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>

welcome.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>成功页面</title>
</head>
<body>
您已经登录!
<s:property value="username"/>
<s:property value="tip"/>
</body>
</html>

error.jsp

<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>错误页面</title>
</head>
<body>
您不能登录!
</body>
</html>

Similar Posts:

  • ###JavaScript权威指南学习笔记:

    ###JavaScript权威指南学习笔记: 1.JS没有类,只有对象,蝌蚪变青蛙的例子太经典了. 2.函数跟对象没有区别,只是对了一堆括号,调用时表示可以自己调用自己. 3.JSON对象其实就是js的对像,用JSON格式的String可以完美的创序列化JS对象!,因此JS对象可以作为一个JSON形式的字符串,在网络不通层次间进行传递!--->需要时,还可以转成JS对象,只需eval函数. 4.window对象:最大全局对象代表一个窗口--->document对象:此窗口页面上所有的元素---

  • CSS权威指南学习笔记系列(1)CSS和文档

    题外话: HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对,请谅解和指出.谢谢大家. 正文: 第一章 CSS和文档 ---------- 1.CSS,称为层叠样式表.使用CSS的理由有:a.易于使用,样式表能大大减少Web创作人员的工作量:b.在多个页面上使用样式,可以创建一个样式表,然后把这个样式表应用到多个页面:c.层叠,CSS还规定了冲突规则:这些规

  • javascript权威指南学习笔记(一)

    前不久去一家公司面试js工程师,15道选择题,5道主观题,结果是js题目基本是做对了,但css相关的题目我基本都傻眼咯. 面试官给的评价是,js编程经验丰富,但css知识欠缺,知识都是停留在几年前的技术,最近几年没怎么学习. 面试的失败.成功并不在意,但他的这个评价确实把我点醒了,仔细想来最近今年忙着做项目确实没有认真的看过书了,所以买了<javascript权威指南>重新学习巩固下.在此把学习心得记录下来,也供今后参考参考. 这次仔细阅读时发现了许多以前的误解地方: 分号的使用 以前以为换行

  • Struts2权威指南总结3:Struts2基础

    1,struts1的mvc实现: Struts1是世界上最古老的mvc框架,出现于2001年.由ActionServlet作为核心API. Struts1使用ActionForm接受请求参数. 2,WebWork WebWork以ServletDispatcher为核心.使用ServletDispatcher处理用户的所有请求,它是整个WebWork框架的核心控制器. WebWork的Action与Struts2类似,都可以继承基类ActionSupport,以便于实现一些功能.WebWork的

  • javascript权威指南学习笔记1

    打开这本书,进入到javascript的世界.以前都是看各种视频,感觉什么收获也没有,反而弄得脑袋混乱,希望能够按照这本书的节奏掌握javascript这门语言,为我的前端学习打下基础. 学习前准备:web浏览器(F12用来唤醒和关闭firebug界面,ctrl+shift+j用来唤醒错误工作台,console.log()调试辅助) 本书分为4个部分:Javascript语言核心:客户端Javascript:Javascript核心参考:客户端Javascript参考.今天主要学了第一部分.主要

  • MongoDB权威指南学习笔记03

    章节:第三章 创建.更新及删除文档 时间:2013-07-22 内容: 插入并保存文档 使用insert方法:如 db.foo.insert({"bar" : "baz"}) 批量插入 批量插入能传递一个由文档构成的数组给数据库,且一次批量插入只是单个的TCP请求,无需处理大量的消息头,避免了许多零碎的请求所带来的开销 只有插入多个文档到一个集合时,才能提高效率,而不能用批量插入一次对多个集合执行操作 要是只导入原始数据,可以使用命令行工具,如mongoimport

  • maven权威指南学习笔记(四)&mdash;&mdash; maven生命周期(lifecycle)

    定义: 生命周期是包含在一个项目构建中的一系列有序的阶段 举个例子来说就是maven 对一个工程进行: 验证(validate) -- 编译源码(compile) -- 编译测试源码(test-compile) -- 单元测试(test) -- 打包(package) -- 安装至本地仓库(install) 复制到远程仓库(deploy) 的这个过就是它的一个生命周期,在上面用了很多"--",是因为中间有些阶段(phase)省掉了(后面会详细介绍).在一个生命周期中,每一个阶段(pha

  • git权威指南学习笔记

    创建git项目 比如:上kernel.org下载一个3.7的kernel包为例: linux-3.7-rc2.tar.bz2 解压:tar -xf linux-3.7-rc2.tar.bz2 cd linux-3.7-rc2 git init git add -A //添加所有文件 git commit -m "initialized" git tag v1 //为初始建立一个里程碑,(选作) git commit -a //提交所有修改,包括缓存区和工作区的修改 此时git log一

  • mysql权威指南学习笔记

    1,mysql的标示符最多就64个字符 2,drop table table1,table2,table3;删除多个table的时候用,号分隔开,为了避免不必要的错误,我们尽量用 DROP TABLE IF IXISTS table1; 3,关于varchar,虽然他是可变类型,但是他的最大也是255个字符,经测试他最多是255个字符,510个汉字 但是其中如果你设置了具体的varchar的长度就不能超过这个长度了,这时候我定义了一个char类型的数据,查看他的数据的长度 还是会随之变化的,不明

  • javascript权威指南 学习笔记之null和undefined

    代码如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript之null和undefined</title> </head> <body> <script type="text/

  • MongoDB权威指南学习笔记1---知识点tips集合【高手慎入】

    1 连接服务器 mongo host:port/db 2 启动不连接任何DB mongo --nodb 3 查看帮助 db.help() db.collection.help() 4 查看某个函数的源码 db.foo.update 5 执行脚本 mongo script1.js script2.js 6 远程执行脚本 mongo --quiet server:port/foo script.js 7 若干函数 use foo --- db.getSisterDB("foo") show

Tags: