浏览 8676 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-24
我的开发环境是eclipse3.2+tomcat5.5.20+JDK1.5.06+myeclipse5.1 基本布局如附件,以下是web.xml的配置 <web-app id="WebApp_9" 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>encodingFilter</filter-name>//解决中文问题 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener//加载spring,但同时也需要在struts.properties中配置一下,见下面 </listener-class> </listener> </web-app> struts.properties: struts.objectFactory = spring//表示使用spring 在struts.xml中 <include file="struts-default.xml"/> <package name="default" extends="struts-default"> <interceptors> <interceptor-stack name="s2Stack">//l拦截器堆栈 <interceptor-ref name="model-driven"/>//模型驱动 <interceptor-ref name="params"/> </interceptor-stack> </interceptors> <action name="login" class="login.LoginAction" method="baocun">//在action中我自己定义的方法,页可以使用默认的execute方法。 <result name="success">/success.jsp</result>//转到成功页面 <result name="input">/fail.jsp</result> <interceptor-ref name="s2Stack"/> </action> </package> 在login.jsp中为 <body> <form action="login.action" method="post"> 用户名: <input type="text" name="name" />//因为我们用了模型驱动,所以就不用如xx.name的形式了但首先的建立一个类logininfo.java,如下: <br /> 密码: <input type="password" name="password"> <br /> <input type="submit" value="提交" name="sub" /> <input type="reset" value="重置" name="res" /> </form> </body> </html> logininfo.java: public class LoginInfo {//主要用于取得页面输入的值,一会在action中还会用到。 private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 我建立了一个service,调用DAO去执行数据库操作。 package service; import com.yourcompany.Admin; import com.yourcompany.AdminDAO;; public class LoginService { private AdminDAO adminDAO; public AdminDAO getAdminDAO() { return adminDAO; } public void setAdminDAO(AdminDAO adminDAO) { this.adminDAO = adminDAO; } public void saveinfo(Admin admin){ adminDAO.save(admin); } } hibernate创建的DAO相信大家都会了,我就不粘贴上来了。 LoginAction如下: import com.yourcompany.Admin; import service.LoginService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.yourcompany.LoginInfo; public class LoginAction extends ActionSupport implements ModelDriven{//这里继承ActionSupport 同事实现ModelDriven /** * */ private static final long serialVersionUID = -2144138760339549940L; LoginService loginService; LoginInfo logininfo=new LoginInfo(); public String baocun() throws Exception{//对应与struts.xml中的method方法 Admin admin=new Admin(); System.out.println(logininfo.getName()); admin.setName(logininfo.getName()); admin.setPassword(logininfo.getPassword()); loginService.saveinfo(admin);//保存前台的数据,插入数据库 return SUCCESS; } public Object getModel() { // TODO 自动生成方法存根 return logininfo;//这里就用到了logininfo.java } public LoginService getLoginService() { return loginService; } public void setLoginService(LoginService loginService) { this.loginService = loginService; } } 一个struts2+spring+hibernate的简单整合例子完成了,有不对的地方还请大家一起交流。 最后说一下官方说可以运行与JDK1.4上,本人已经测试过,可以运行,只需将j4包下的文件拷贝到lib下,就可以了,但要注意如果用JDK1.5了,不要把j4下包和用于1.5的包都拷贝到项目lib下,会冲突,本人第一次写博客,希望大家一起交流。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |