- 浏览: 1230831 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
参考:http://lukuijun.iteye.com/blog/350750
以下为我自己整理的步骤:
Struts2和Spring整合,创建一个web项目TestSS
1、整合struts2
1)导入strut2的jar包:
commons-logging-1.0.4.jar,
freemarker-2.3.8.jar,
ognl-2.6.11.jar,
struts2-core-2.0.12.jar,
xwork-2.06.jar,
javassist-3.11.0.GA.jar,
commons-fileupload-1.2.2.jar
commons-lang-2.5.jar。暂时导入这些jar包,到时候需要再导入。
2)将struts.xml文件放置在TestSS工程的src目录下。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory.spring.autoWire" value="name"></constant>
<package name="struts2" extends="struts-default" >
<action name="login" class="com.test.action.LoginAction">
<result name="input">/login.jsp</result>
<result >/success.jsp</result>
</action>
</package>
</struts>
3)在web.xml里面配置struts2用到的核心过滤器。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、整合spring
1)导入spring的jar包:
spring.jar
struts2-core-2.2.3.1.jar
spring-web-2.5.6.jar
spring-core-2.5.6.jar
spring-context-2.5.6.jar
spring-beans-2.5.6.jar
2)将applicationContext.xml文件放置在TestStrut2工程的WEB-INF目录下。
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" default-autowire="byName">
<!-- 构造注入 -->
<!--
<bean id="loginDao" class="com.test.dao.impl.LoginDaoImpl"></bean>
<bean id="loginService" class="com.test.service.impl.LoginServiceImpl">
<property name="loginDao" ref="loginDao"></property>
</bean>
<bean id="loginAction" class="com.test.action.LoginAction" scope="prototype">
<property name="loginService" ref="loginService"></property>
</bean>
-->
<!-- 改成自动装配如下 default-autowire="byName" -->
<bean id="loginDao" class="com.test.dao.impl.LoginDaoImpl"/>
<bean id="loginService" class="com.test.service.impl.LoginServiceImpl"/>
</beans>
3)在web.xml里面配置spring用到的监听器。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
4)添加struts2-spring整合的插件:struts2-spring-plugin-2.2.3.1.jar,如果不使用这个插件,则需要在struts.xml里面配置:
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
5)可以在web-inf下加入log4j的lib,在web.xml配置如下:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>TestSS.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
3、测试struts2和spring整合对不对? 以下代码为项目配置完成后所有代码。
代码如下:
applicationContest.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" default-autowire="byName">
<!-- 构造注入 -->
<!--
<bean id="loginDao" class="com.test.dao.impl.LoginDaoImpl"></bean>
<bean id="loginService" class="com.test.service.impl.LoginServiceImpl">
<property name="loginDao" ref="loginDao"></property>
</bean>
<bean id="loginAction" class="com.test.action.LoginAction" scope="prototype">
<property name="loginService" ref="loginService"></property>
</bean>
-->
<!-- 改成自动装配如下 default-autowire="byName" -->
<bean id="loginDao" class="com.test.dao.impl.LoginDaoImpl"/>
<bean id="loginService" class="com.test.service.impl.LoginServiceImpl"/>
</beans>
log4j中xml的配置
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${TestSS.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Login</title>
</head>
<body>
<s:form action="login.action">
<s:textfield label="用户" name="user.name"></s:textfield>
<s:textfield label="密码" name="user.pwd"></s:textfield>
<s:submit label="登录"></s:submit>
</s:form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>SUCCESS</title>
</head>
<body>
<s:property value="user.name"/>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>TestSS.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default1" extends="struts-default">
<action name="login" class="com.test.action.LoginAction" >
<result>success.jsp</result>
</action>
</package>
</struts>
User类
package com.test.vo;
public class User {
private String name;
private String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
LoginAction
package com.test.action;
import com.opensymphony.xwork2.Action;
import com.test.service.LoginService;
import com.test.vo.User;
public class LoginAction implements Action {
private LoginService loginService;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String execute() throws Exception {
System.out.println("user----");
if(loginService.isValid()){
System.out.println("is valid user");
}
return SUCCESS;
}
public LoginService getLoginService() {
return loginService;
}
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
}
service接口
package com.test.service;
public interface LoginService {
boolean isValid();
}
service实现类
package com.test.service.impl;
import com.test.dao.LoginDao;
import com.test.service.LoginService;
public class LoginServiceImpl implements LoginService {
LoginDao loginDao ;
public boolean isValid() {
return loginDao.isValid();
}
public LoginDao getLoginDao() {
return loginDao;
}
public void setLoginDao(LoginDao loginDao) {
this.loginDao = loginDao;
}
}
dao接口
package com.test.dao;
public interface LoginDao {
boolean isValid();
}
dao实现类
package com.test.dao.impl;
import com.test.dao.LoginDao;
public class LoginDaoImpl implements LoginDao{
public boolean isValid() {
return true;
}
}
运行tomcat启动:http://localhost:8080/TestSS/login.jsp
输入用户名和密码,点提交后后台打印出
user----
is valid user
发表评论
-
Struts2漏洞问题及解决
2013-08-21 22:46 776Struts2漏洞问题: http://www.itey ... -
Struts2中iterator标签遍历map总结
2011-11-18 11:18 837package com.zx.demo.action; ... -
struts2的s:iterator 标签 详解
2011-11-18 10:39 746struts2的s:iterator 可以遍历 数据栈里面 ... -
Struts2 ognl中的#、%和$符号用法说明
2011-11-18 10:32 788#、%和$符号在OGNL表达式中经常出现,而这三种符号也是开 ... -
Struts2页面取值问题
2011-11-18 00:32 2208Struts2页面取值: 后总结出了4种取值得办法: ... -
Struts2数据传输的背后机制:ValueStack(值栈)
2011-11-13 16:41 8241. 数据传输背后机制 ... -
spring 3 和mybatis 3集成,并用junit4进行测试
2011-11-04 14:01 1467转:spring 3 和mybatis 3集成,并用junit ... -
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource的解决方法
2011-11-03 16:17 2752用Myeclipse开发struts时,配置struts-co ... -
如何自定义Struts2表单验证后的错误信息显示格式/样式
2011-11-02 23:48 7051、http://www.blogjava.net/lishu ... -
Struts 2 类型转化
2011-11-01 01:06 1431转自:http://blog.csdn.net/lilp_nd ... -
Struts2 校验框架学习笔记
2011-11-01 01:00 1006转自:http://blog.csdn.net/lilp_nd ... -
Struts2入门级HelloWord
2011-10-27 01:11 751下载附件里的看吧。。。 -
SSH架构搭建(包四)
2010-07-01 12:00 780附件四 -
SSH架构搭建(包三)
2010-07-01 11:58 643附件三 -
怎么将hibernate.cfg.xml合并到applicationContext.xml中
2010-07-01 11:43 2354我们知道在做SSH的时候spring有配置文件applicat ... -
Spring+hibernate延迟加载报错解决办法之二
2010-06-29 17:28 1214在做删除操作的时候出现了org.springframework ... -
Spring+hibernate延迟加载报错解决办法之一
2010-06-29 17:25 1214我们在项目中一般都会使用Spring来管理Hibernate的 ... -
SSH架构搭建(包二)
2010-05-28 17:36 874SSH包二,见附件内容 -
SSH架构搭建(包一)
2010-05-28 17:35 860spring与hibernate集成:http://qu ... -
Spring项目中怎么配置log4j
2010-05-27 11:10 1587在spring项目中配置log4j http://blogg ...
相关推荐
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
### Struts+Spring+Ibatis整合框架搭建配置详解 在当今复杂的软件开发环境中,整合不同的框架以构建高效、可维护的应用程序变得尤为重要。Struts、Spring与Ibatis(现称MyBatis)作为三个功能互补的Java框架,它们...
在Struts2+Spring整合中,Spring负责业务层对象的管理,提供IOC(Inversion of Control)容器来管理和控制对象的生命周期。同时,Spring的AOP模块可以用于实现如日志记录、权限控制等通用功能。 **MyBatis框架** ...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且高效的应用程序开发环境。这个“struts2+spring+iBatis框架包”集成了这三个框架,使得开发者能够快速构建基于...
文档"Struts1.2+Spring2.5+Hibernate3.2框架搭建(周禄康).doc"和"Struts1.2+Spring2.5+Hibernate3.2框架搭建(原版)(周禄康).doc"可能包含了详细的步骤和示例代码,帮助读者理解如何实际操作。"Struts+...
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...
总结来说,"Struts1.3+Spring4.x+Hibernate4.x框架整合实现对书籍的增删改查(含分页)"项目展示了如何使用SSH框架来构建一个功能完善的书籍管理系统。Struts处理用户请求,Spring管理应用组件并提供事务支持,...
在提供的"spring+struts2+ibatis整合的jar包"中,lib1可能包含了这三个框架以及它们的依赖库。这些jar文件是运行整合应用必不可少的组件,它们包含了框架的API、实现和一些工具类,帮助开发者快速搭建和运行整合项目...
《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...
【Struts2+Spring+MyBatis环境搭建】是指在Java Web开发中整合这三个开源框架,构建一个完整的MVC架构。Struts2作为表现层框架,负责处理HTTP请求和视图展示;Spring作为业务层框架,提供依赖注入和事务管理等功能;...
Struts2、Spring4和Hibernate4是Java...通过深入研究和实践这个"struts2+spring4+hibernate4工程搭建源码",开发者不仅可以了解这三个框架的基本用法,还能掌握如何在实际项目中整合它们,提升自己的Java Web开发能力。
Struts2+Spring+Hibernate+EasyUI 是一个经典的Java Web开发框架组合,广泛应用于企业级应用的构建。这个管理系统利用这些技术的特性,提供了一种高效、稳定且易于维护的解决方案。 **Struts2** 是一个强大的MVC...
Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...
`Struts+Spring+Ibatis整合框架搭建配置文档.doc`应该详细阐述了如何配置Spring以管理Struts2的Action和iBatis的数据源及SqlSession。 3. **iBatis**:iBatis是一个SQL映射框架,它将SQL语句与Java代码分离,使得...
这篇博客“Struts2+Hibernate+Spring框架搭建(三)”着重介绍如何整合这三个框架,构建一个完整的Java Web项目。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它主要用于控制应用...
### Struts+Spring+Ibatis整合框架搭建知识点详解 #### 一、框架介绍与整合意义 **Struts**是一款开源的MVC框架,主要用于构建基于Java的Web应用程序。它简化了开发过程,使得开发者能够更加关注业务逻辑而非基础...
本教程将详细介绍如何使用Eclipse IDE搭建一个基于Struts2.5、Spring5.0和Hibernate5.2的整合框架,提供一个可运行的Demo实例。这个组合是Java企业级开发中常见的技术栈,它们各自负责不同的职责:Struts2作为前端...