`
qiuxiaorong1979
  • 浏览: 80919 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

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

阅读更多
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 name="struts.objectFactory" value="spring" />
	<include file="struts-default.xml"></include>
	<package name="default" extends="struts-default">
		<action name="userInfoLogin" class="userInfoAction" method="login">
			<result name="FAILURE">/MainWeb/failure.jsp </result>
			<result name="SUCCESS">/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
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<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 id="login">
    <s:form action="userInfoLogin">
     <s:textfield label="用户名" name="userName"></s:textfield>
     <s:password label="密码" name="userPassword"></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 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
		</property>
		<property name="url"
			value="jdbc:sqlserver://localhost:1433;databaseName=SSH">
		</property>
		<property name="username" value="sa"></property>
		<property name="password" value="Wxzy!@%&amp;"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.SQLServerDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>dbConfig/UserInfo.hbm.xml</value>

			</list>
		</property>
	</bean>

	<bean id="userInfoServiceImpl" class="com.shawnqiu.service.impl.UserInfoServiceImpl" abstract="false"
	   lazy-init="default" autowire="default" dependency-check="default" scope="prototype">
	   <property name="sessionFactory" >
	    <ref local="sessionFactory"/>
	   </property>
	</bean>
	<bean id="userInfoAction" class="com.shawnqiu.action.UserInfoAction" scope="prototype">
	       <property name="userInfoService">
	           <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



分享到:
评论
1 楼 yifzeng 2011-03-13  
楼主,求图啊。。。。
您在这篇教程里配的图怎么都不见了呢。。。

相关推荐

Global site tag (gtag.js) - Google Analytics