您的位置:首页 > 编程语言 > Java开发

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的项目开发。











内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: