首页

源码搜藏网

首页 > 开发教程 > java教程 >

基于MyEclipse 8.0 GA整合S2SH框架实例教程(四)

创建时间:2013-04-27 17:00  

7. Create struts.xml
在src包下新建一个struts.xml文件,该文件内容如下:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant value="spring" /> <include file="struts-default.xml"></include> <package extends="struts-default"> <action method="login"> <result>/MainWeb/failure.jsp </result> <result>/MainWeb/success.jsp</result> </action> </package> </struts>

8. Overwrite web.xml
配置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 "> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> </web-app>

9. Use Hibernate Reverse
UserInfo.java
UserInfoDaoImpl.java
UserInfo.hbm.xml

将前面数据源dataSource所示数据库SSH中的UserInfo表反向生成Hibernate实体类文件。
如下图,不要生成abstract class,然后一路点击Next即可。
在com.shawnqiu.bean下生成三个文件UserInfo.java、UserInfoDAO.java、UserInfo.hbm.xml。将UserInfoDAO.java 更名为UserInfoDaoImpl.java,置于com.shawnqiu.dao.impl,将UserInfo.hbm.xml置于dbConfig下。

10. Create UserInfoServiceImpl.java
package com.shawnqiu.service.impl; import java.util.*; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.shawnqiu.bean.UserInfo; public class UserInfoServiceImpl extends HibernateDaoSupport { //普通用户登录验证 @SuppressWarnings("unchecked") public boolean checkUser(String userName,String userPassword){ boolean flag = false; String hql = "from UserInfo as userInfo where userInfo.userName = '"+userName+"' and userInfo.userPassword = '"+userPassword+"'"; List<UserInfo> userInfoList = this.getHibernateTemplate().find(hql); if(userInfoList.size()>0){ flag = true; } return flag; } }

11. Create UserInfoService.java
右键点击UserInfoServiceImpl.java,选择Refactor->Extract Interface。
设置Interface name为UserInfoService,同时选择Select All即可,点击OK。
如上图所示,UserInfoService.java和UserInfoServiceImpl.java在同一package中。右键点击UserInfoService.java,选择Refactor->Move
选择com.shawnqiu.service,点击OK即可。

12. Create UserInfoAction.java
package com.shawnqiu.action; import com.opensymphony.xwork2.ActionSupport; import com.shawnqiu.service.UserInfoService; public class UserInfoAction extends ActionSupport{ private String userName; private String userPassword; public UserInfoService getUserInfoService() { return userInfoService; } public void setUserInfoService(UserInfoService userInfoService) { this.userInfoService = userInfoService; } private UserInfoService userInfoService; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public String execute(){ // String page = "FAILURE"; // boolean flag = false; // flag = personManage.checkUser(userName, userPassword); // if(flag){ // page = "SUCCESS"; // } // return page; return ""; } public String login(){ String page = "FAILURE"; boolean flag = false; flag = userInfoService.checkUser(userName, userPassword); if(flag){ page = "SUCCESS"; } return page; } }

13. New Jsp Pages
首先在WebRoot下新建一个MainWeb文件夹,并同时创建3个文件,分别是login.jsp、success.jsp、failure.jsp,源代码如下。
login.jsp
<%@ page language="java" pageEncoding="utf-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <html> <head> <title>用户登录</title> </head> <body> <center> <div> <s:form action="userInfoLogin"> <s:textfield label="用户名"></s:textfield> <s:password label="密码"></s:password> <s:submit value="登录"></s:submit> </s:form> </div> </center> </body> </html>

success.jsp
<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Failure</title> </head> <body> 登录成功!<br> </body> </html>

failure.jsp
<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Failure</title> </head> <body> 登录失败!<br> </body> </html>

14. Overwrite applicationContext.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:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans "> <bean> <property value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property value="jdbc:sqlserver://localhost:1433;databaseName=SSH"> </property> <property value="sa"></property> <property value="Wxzy!@%&amp;"></property> </bean> <bean> <property> <ref bean="dataSource" /> </property> <property> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </prop> </props> </property> <property> <list> <value>dbConfig/UserInfo.hbm.xml</value> </list> </property> </bean> <bean abstract="false" lazy-init="default" autowire="default" dependency-check="default" scope="prototype"> <property > <ref local="sessionFactory"/> </property> </bean> <bean scope="prototype"> <property> <ref bean="userInfoServiceImpl" /> </property> </bean> </beans>

15. Create log4j.properties
# Set root category priority to INFO and its only appender to CONSOLE. log4j.rootCategory=INFO, CONSOLE #log4j.rootCategory=INFO, CONSOLE, LOGFILE # Set the enterprise logger category to FATAL and its only appender to CONSOLE. log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE # CONSOLE is set to be a ConsoleAppender using a PatternLayout. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n # LOGFILE is set to be a File appender using a PatternLayout. log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=axis.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.Threshold=INFO log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n


上一篇:运行断点GDB 调试汇编程序的方法
下一篇:android文件系统制作教程

相关内容

热门推荐