struts2 整合 Spring开发,简单数据添加小例子
2011-03-19 16:52
393 查看
[b]第一步:
[/b]
[b] 打开MyEclipse 新建一个web工程。
[/b]
然后导入相应的jar包:将struts2开发的几个基础jar包导入到 lib下,因为是整合了spring开发,所以还应将struts2里的 struts2-spring-plugin.jar
也放入到 lib下。然后通过myeclipse导入spring。具体的办法是在相应的工程目录右击,Myeclipse
-->Add Spring Capabilities.然后在对话框里面.Spring 2.0 Core 打钩(这个默认已经打钩了),还有Spring
2.0 Web 打钩,因为我们需要用到里面的一个Listener.后面直接默认,所以直接按 finish。
[b]第二步:
配置web.xml.因为我们需要通过spring来生成act
[/b]
ion实例.(也就是说.告诉struts有spring的存在)
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.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>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
</web-app>
第三步:写两个页面,一个添加信息页面add.jsp,一个添加成功消息页面success.jsp
add.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
</head>
<body>
<s:form action="add">
<s:textfield name="user.USERNAME" label="用户名"></s:textfield>
<s:textfield name="user.USERPWD" label="密码"></s:textfield>
<s:s
ubmit value="提交"></s:submit>
</s:form>
</body>
</html>
success.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
</head>
<body>
<b>添加成功!!</b>
</body>
</html>
第四步.写个业务处理类,实体javabean 及 dao 和 action
工程文件目录结构如下图:
实体
User.java代码如下
:
package valueBean;
public class User {
private String USERNAME;
private String USERPWD;
public String getUSERNAME() {
return USERNAME;
}
public void setUSERNAME(String username) {
USERNAME = username;
}
public String getUSERPWD() {
return USERPWD;
}
public void setUSERPWD(String userpwd) {
USERPWD = userpwd;
}
}
UserDao.java代码如下
package dao;
import org.springframework.jdbc.core.JdbcTemplate;
public class UserDao {
private JdbcTemplate jtl = null;
public JdbcTemplate getJtl() {
return jtl;
}
public void setJtl(JdbcTemplate jtl) {
this.jtl = jtl;
}
public void executeSql(String sql) {
jtl.execute(sql);
}
}
UserAction。java代码如下
package action;
import valueBean.User;
import com.opensymphony.xwork2.ActionSupport;
import dao.UserDao;
public class UserAction extends ActionSupport {
//这里引入了一个
UserDao
.但并没有将它实例化.(如果在这里实例化,那就不是整合spring了...在这我们就是靠spring来注入这个
UserDao
)
private UserDao dao;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
//注意这里需要定义一个set方法.因为spring需要调用这个set方法
public void setDao(UserDao dao) {
this.dao = dao;
}
public String execute() throws Exception {
String sql = "insert into userbase values('" + user.getUSERNAME()
+ "','" + user.getUSERPWD() + "')";
dao.executeSql(sql);
return SUCCESS;
}
}
第五步:applicationContext.xml 它是spring的配置文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=user
</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="dao" class="dao.UserDao">
//这里定义了一个
dao
的组件.对应业务逻辑的实现类
<property name="jtl">
<ref bean="jdbcTemplate" />
</property>
</bean>
<bean id="userAction
" class="action.UserAction" scope="prototype">
<property name="dao">
<ref bean="dao" />
//将这个业务逻辑的实现类注入.(也即调用userAction里的那个 setDao()方法 )
</property>
</bean>
</beans>
第六步:配置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>
<constant name="struts.i18n.encoding" value="GBK" />
<package name="struts2" extends="struts-default">
<action name="add" class="userAction">
//注意,这里的class已经不是和以前那样的一个类的全名.而是一个自定义的名字.这个名字对应到了上面我们配置的//applicationContext.xml(也就是spring的配置文件)里定义的bean
Id .
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
至此,一个Struts2 整合spring 实现数据添加的小例子的所有代码就写完了,这是我自己写的,也经过了测试,大家可以参考,比较容易入门 struts2 整合spring的项目开发。
[/b]
[b] 打开MyEclipse 新建一个web工程。
[/b]
然后导入相应的jar包:将struts2开发的几个基础jar包导入到 lib下,因为是整合了spring开发,所以还应将struts2里的 struts2-spring-plugin.jar
也放入到 lib下。然后通过myeclipse导入spring。具体的办法是在相应的工程目录右击,Myeclipse
-->Add Spring Capabilities.然后在对话框里面.Spring 2.0 Core 打钩(这个默认已经打钩了),还有Spring
2.0 Web 打钩,因为我们需要用到里面的一个Listener.后面直接默认,所以直接按 finish。
[b]第二步:
配置web.xml.因为我们需要通过spring来生成act
[/b]
ion实例.(也就是说.告诉struts有spring的存在)
web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.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>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
</web-app>
第三步:写两个页面,一个添加信息页面add.jsp,一个添加成功消息页面success.jsp
add.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
</head>
<body>
<s:form action="add">
<s:textfield name="user.USERNAME" label="用户名"></s:textfield>
<s:textfield name="user.USERPWD" label="密码"></s:textfield>
<s:s
ubmit value="提交"></s:submit>
</s:form>
</body>
</html>
success.jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
</head>
<body>
<b>添加成功!!</b>
</body>
</html>
第四步.写个业务处理类,实体javabean 及 dao 和 action
工程文件目录结构如下图:
实体
User.java代码如下
:
package valueBean;
public class User {
private String USERNAME;
private String USERPWD;
public String getUSERNAME() {
return USERNAME;
}
public void setUSERNAME(String username) {
USERNAME = username;
}
public String getUSERPWD() {
return USERPWD;
}
public void setUSERPWD(String userpwd) {
USERPWD = userpwd;
}
}
UserDao.java代码如下
package dao;
import org.springframework.jdbc.core.JdbcTemplate;
public class UserDao {
private JdbcTemplate jtl = null;
public JdbcTemplate getJtl() {
return jtl;
}
public void setJtl(JdbcTemplate jtl) {
this.jtl = jtl;
}
public void executeSql(String sql) {
jtl.execute(sql);
}
}
UserAction。java代码如下
package action;
import valueBean.User;
import com.opensymphony.xwork2.ActionSupport;
import dao.UserDao;
public class UserAction extends ActionSupport {
//这里引入了一个
UserDao
.但并没有将它实例化.(如果在这里实例化,那就不是整合spring了...在这我们就是靠spring来注入这个
UserDao
)
private UserDao dao;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
//注意这里需要定义一个set方法.因为spring需要调用这个set方法
public void setDao(UserDao dao) {
this.dao = dao;
}
public String execute() throws Exception {
String sql = "insert into userbase values('" + user.getUSERNAME()
+ "','" + user.getUSERPWD() + "')";
dao.executeSql(sql);
return SUCCESS;
}
}
第五步:applicationContext.xml 它是spring的配置文件,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=user
</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="dao" class="dao.UserDao">
//这里定义了一个
dao
的组件.对应业务逻辑的实现类
<property name="jtl">
<ref bean="jdbcTemplate" />
</property>
</bean>
<bean id="userAction
" class="action.UserAction" scope="prototype">
<property name="dao">
<ref bean="dao" />
//将这个业务逻辑的实现类注入.(也即调用userAction里的那个 setDao()方法 )
</property>
</bean>
</beans>
第六步:配置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>
<constant name="struts.i18n.encoding" value="GBK" />
<package name="struts2" extends="struts-default">
<action name="add" class="userAction">
//注意,这里的class已经不是和以前那样的一个类的全名.而是一个自定义的名字.这个名字对应到了上面我们配置的//applicationContext.xml(也就是spring的配置文件)里定义的bean
Id .
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
至此,一个Struts2 整合spring 实现数据添加的小例子的所有代码就写完了,这是我自己写的,也经过了测试,大家可以参考,比较容易入门 struts2 整合spring的项目开发。
相关文章推荐
- Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发
- struts2 spring4 hibernate4(s2sh)整合开发--简单实体的增删改查操作
- 整合Struts2,Hibernate和Spring的一个简单例子
- 整合开发Struts2,Hibernate,Spring简单框架的搭建详解
- Struts2 + Spring 整合简单例子(转)
- MyBatis数据持久化(十一)Mybatis3、Spring4、Struts2整合开发
- springboot整合mybatis最简单的例子
- 安卓开发SQlite使用执行SQL语句一些简单的处理——1.创建数据库,表和添加数据
- spring struts2 ibatis框架整合开发
- struts2 spring3 hibernate4 最简单整合
- struts2 spring4 hibernate4(s2sh)整合开发--项目整体架构的搭建
- SSH 整合例子 Struts2 Spring3 Hibernate3
- CFX WebService做的一个简单的HelloWorld例子 也可与spring 整合 发布在容器里面
- 2009-04-07技术学习:wicket+Spring简单整合小例子
- 虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能
- 最简单的 Struts2 Spring2 Hibernate3 整合 实例
- SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
- Spring 3之MVC & Security简单整合开发(一)
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd 添加评论的功能实现