手工搭建注解方式的spring3+struts2.2+hibernate3.6+maven2

      这段时间不是很忙,头给我说了个事儿:让我把公司的网站给整整,想起来公司好多技术都该换新版本了,这正好是个机会,于是就搭了一套最新的开发框架。

      IDE:myeclipse8.6

      JAR包管理:maven2

      spring版本:3.0.6.RELEASE

      (maven中央库目前不支持3.1.0)

      struts版本:2.2.3

      hibernate版本:3.6.8

      1.在myeclipse中新建一个maven工程:

         1.1 File-->New-->Other-->MyEclipse-->Maven-->Java Maven Project

扫描二维码关注公众号,回复: 768116 查看本文章

         1.2 输入工程名、groupId、artifactId以及版本号

         1.3 在新建的工程中点右键-->Myeclipse-->Add Web Project Capabilities

               关于这种建工程的方式,有以下几点需要说明:

               1》我不知道在myeclipse如何直接建maven web工程,用maven自带的那个web工程插件建造不了,所以

                    就这么建了,知道怎么直接建的跟我说声,不过这样建有一个好处,就是可以部署到tomcat里面运行。

               2》不想用maven的我在下面贴出来jar包列表,你们可以自己下载。

       

         

       2.pom文件

         

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>baseFrameForMaven</groupId>
  <artifactId>baseFrameForMaven</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>baseFrameForMaven</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
  	<!-- J2EE容器所需包 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
    	<groupId>org.apache.openejb</groupId>
    	<artifactId>javaee-api</artifactId>
    	<version>5.0-1</version>
    	<scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>javax.faces</groupId>
    	<artifactId>jsf-api</artifactId>
    	<version>1.2_04</version>
    	<scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>javax.servlet</groupId>
    	<artifactId>jstl</artifactId>
    	<version>1.2</version>
    	<scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>javax.servlet.jsp</groupId>
    	<artifactId>jsp-api</artifactId>
    	<version>2.1</version>
    	<scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>javax.faces</groupId>
    	<artifactId>jsf-impl</artifactId>
    	<version>1.2_04</version>
    	<scope>provided</scope>
    </dependency>
    <dependency>
  		<groupId>org.aspectj</groupId>
  		<artifactId>aspectjweaver</artifactId>
  		<version>1.6.12</version>
	</dependency>
	<!-- mysql数据库驱动 -->
	<dependency>
  		<groupId>mysql</groupId>
  		<artifactId>mysql-connector-java</artifactId>
  		<version>5.1.18</version>
	</dependency>
	<!-- c3p0数据库连接池 -->
	<dependency>
  		<groupId>c3p0</groupId>
  		<artifactId>c3p0</artifactId>
  		<version>0.9.1.2</version>
	</dependency>
	<!-- 这个包是我自己的,主要提供的一些通用hibernate方法,如果没有可以去掉 -->
	<dependency>
  		<groupId>cn.apple.erp</groupId>
  		<artifactId>erp_base</artifactId>
  		<version>1.0.0</version>
  		<exclusions>
  			<exclusion>
				<groupId>org.hibernate</groupId>
        		<artifactId>hibernate</artifactId>
			</exclusion>
			<exclusion>
				<groupId>proxool</groupId>
  		    	<artifactId>proxool</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
    <!-- ======================================================================= -->
    
    <!-- spring必须包 -->
    <!-- spring核心包 -->
    <dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>3.0.6.RELEASE</version>
  		<!-- spring-asm-3.0.6.RELEASE.jar -->
  		<!-- commons-logging-1.1.1.jar -->
	</dependency>
	<!-- 利用IOC管理Bean的包 -->
    <dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-beans</artifactId>
  		<version>3.0.6.RELEASE</version>
	</dependency>
	<!-- 对bean再次封装后的包,方便性强。 -->
    <dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-context</artifactId>
  		<version>3.0.6.RELEASE</version>
  		<!-- spring-expression-3.0.6.RELEASE.jar -->
  		<!-- spring-aop-3.0.6.RELEASE.jar -->
  		<!-- aopalliance-1.0.jar -->
	</dependency>
	
	<!-- spring扩展包 -->
	<!-- SpringWeb下的工具包 -->
    <dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-web</artifactId>
  		<version>3.0.6.RELEASE</version>
	</dependency>
	<!-- 对struts支持包 -->
	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-struts</artifactId>
  		<version>3.0.6.RELEASE</version>
  		<!-- spring-struts-3.0.6.RELEASE.jar -->
  		<!-- commons-validator-1.1.4.jar -->
  		<!-- commons-beanutils-1.7.0.jar -->
  		<!-- commons-digester-1.6.jar -->
  		<!-- oro-2.0.7.jar -->
  		<!-- spring-context-support-3.0.6.RELEASE.jar -->
  		<!-- struts-1.2.9.jar -->
  		<!-- spring-webmvc-3.0.6.RELEASE.jar -->
  		<!-- xalan-2.5.1.jar -->
	</dependency>
	<!-- 支持hibernate,对对象映射框架的支持 -->
    <dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-orm</artifactId>
  		<version>3.0.6.RELEASE</version>
  		<!-- spring-tx-3.0.6.RELEASE.jar -->
  		<!-- spring-jdbc-3.0.6.RELEASE.jar -->
	</dependency>
	<dependency>
  		<groupId>commons-dbcp</groupId>
  		<artifactId>commons-dbcp</artifactId>
  		<version>1.4</version>
	</dependency>
	<!-- ======================================================================= -->
	
	<!-- struts2.2.3必须包 -->
	<dependency>
  		<groupId>org.apache.struts</groupId>
  		<artifactId>struts2-core</artifactId>
  		<version>2.2.3.1</version>
  		<!-- ognl-3.0.1.jar -->
  		<!-- asm-commons-3.1.jar -->
  		<!-- asm-tree-3.1.jar -->
  		<!-- commons-lang-2.5.jar -->
  		<!-- commons-fileupload-1.2.2.jar -->
  		<!-- commons-io-2.0.1.jar -->
  		<!-- xwork-core-2.2.3.1.jar -->
  		<!-- javassist-3.11.0.GA.jar -->
  		<!-- freemarker-2.3.16.jar -->
	</dependency>
	<!-- 日志功能 -->
	<dependency>
  		<groupId>commons-logging</groupId>
  		<artifactId>commons-logging</artifactId>
  		<version>1.1</version>
  		<!-- avalon-framework-4.1.3.jar -->
  		<!-- servlet-api-2.3.jar -->
  		<!-- logkit-1.0.1.jar -->
  		<!-- log4j-1.2.12.jar -->
	</dependency>
	<!-- ASM字节码库 -->
	<dependency>
  		<groupId>asm</groupId>
  		<artifactId>asm</artifactId>
  		<version>3.1</version>
	</dependency>
	<!-- struts2对于spring的支持 -->
	<dependency>
  		<groupId>org.apache.struts</groupId>
  		<artifactId>struts2-spring-plugin</artifactId>
  		<version>2.2.3.1</version>
	</dependency>
	<!-- struts2中对于注解的支持 -->
	<dependency>
  		<groupId>org.apache.struts</groupId>
  		<artifactId>struts2-convention-plugin</artifactId>
  		<version>2.2.3.1</version>
	</dependency>
	
	
	<!-- hibernate3.6.8必须包 -->
	<!-- hibernate核心包 -->
	<dependency>
  		<groupId>org.hibernate</groupId>
  		<artifactId>hibernate-core</artifactId>
  		<version>3.6.8.Final</version>
  		<exclusions>
  			<exclusion>
				<groupId>commons-collections</groupId>
  		    	<artifactId>commons-collections</artifactId>
			</exclusion>
			<exclusion>
				<groupId>dom4j</groupId>
  		    	<artifactId>dom4j</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.slf4j</groupId>
  		    	<artifactId>slf4j-api</artifactId>
			</exclusion>
		</exclusions>
  		<!-- hibernate-commons-annotations-3.2.0.Final.jar1 -->
  		<!-- hibernate-jpa-2.0-api-1.0.1.Final.jar -->
  		<!-- jta-1.1.jar -->
	</dependency>
	<!-- hibernate使用的一个日志系统 -->
	<dependency>
  		<groupId>org.slf4j</groupId>
  		<artifactId>slf4j-api</artifactId>
  		<version>1.6.4</version>
	</dependency>
	<!-- 集合类 -->
	<dependency>
  		<groupId>commons-collections</groupId>
  		<artifactId>commons-collections</artifactId>
  		<version>3.2.1</version>
	</dependency>
	<!-- XML配置和映射管理器-->
	<dependency>
  		<groupId>dom4j</groupId>
  		<artifactId>dom4j</artifactId>
  		<version>1.6.1</version>
	</dependency>
	<!-- ASM字节码库-->
	<dependency>
  		<groupId>asm</groupId>
  		<artifactId>asm-attrs</artifactId>
  		<version>2.2.3</version>
	</dependency>
	<!-- cglib字节码解释器-->
	<dependency>
  		<groupId>cglib</groupId>
  		<artifactId>cglib-nodep</artifactId>
  		<version>2.2.2</version>
	</dependency>
  </dependencies>
</project>

      3. 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">
	
	<!-- log4j配置文件地址 -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpath:resources/log4j/log4j.properties</param-value>
	</context-param>
	
	<!-- 配置spring的配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:resources/spring/applicationContext.xml</param-value>
	</context-param>
  
	<!-- log4j监听 -->
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	
	<!-- Open Session In View Filter -->
	<!-- Spring提供的一个针对Hibernate的一个支持类,
		发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束 -->
	<filter>
		<filter-name>OpenSessionInViewFilter</filter-name>
		<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
		<init-param>
			<param-name>singleSession</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>OpenSessionInViewFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- Spring监听 -->
  	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  	</listener>
  	
  	<!-- spring编码过滤器 -->
	<filter>
        <filter-name>Set Character Encoding</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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <!-- 强制进行转码 -->
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  
  	<!-- Struts2配置信息 -->
  	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
		<!-- 指定配置文件路径 -->
		<init-param>
			<param-name>config</param-name>
			<param-value>platform-web.xml,struts-default.xml,struts-plugin.xml,resources/struts/struts.xml</param-value>
		</init-param>
  	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
  	</filter-mapping>
  
  	<!-- 欢迎页面 -->
  	<welcome-file-list>
    	<welcome-file>/jsp/login/login.jsp</welcome-file>
  	</welcome-file-list>
</web-app>     

      

    4. log4j.properties

     

### set log levels ###
log4j.rootLogger = debug, stdout, D, E

### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ###
#kong zhi tai
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n

### \u8f93\u51fa\u5230\u65e5\u5fd7\u6587\u4ef6 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${webapp.root}/logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n

### \u4fdd\u5b58\u5f02\u5e38\u4fe1\u606f\u5230\u5355\u72ec\u6587\u4ef6 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ${webapp.root}/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - [%p] %m%n

    5. 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:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

	<!-- 使用 annotation --> 
	<context:annotation-config />
	
	<!-- 使用 annotation 自动注册bean,并检查@Controller, @Service, @Repository注解已被注入 --> 
	<context:component-scan base-package="cn.apple.baseFrameForMaven.*" />
	
	<!-- hibernate属性配置 -->
	<context:property-placeholder location="classpath:resources/hibernate/hibernate.properties"/>
	
	<!-- hibernate 配置管理 -->
	<import resource="applicationContext-persistence.xml" />
	
</beans>

    6. applicationContext-persistence.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:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd">
	
	<!-- C3P0 数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${hibernate.connection.driver_class}"/> 
        <property name="jdbcUrl" value="${hibernate.connection.url}"/>
        <property name="properties"> 
            <props> 
                <prop key="user">${hibernate.connection.username}</prop>
                <prop key="password">${hibernate.connection.password}</prop>
            </props> 
        </property>
    </bean>
    
    <!-- 配置hibernate3相关属性 -->
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="packagesToScan" value="cn.apple.baseFrameForMaven.model"/>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
				<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
				<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
				<prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
				<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>	
				<prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
			</props>
		</property>
	</bean>
	
	<!-- 配置事务管理 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>
	
	<!-- 配置注解实现管理事务(cglib:proxy-target-class="true") -->
	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />

</beans>

    7. hibernate.properties

   

## hibernate
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hibernate.format_sql=false
hibernate.hbm2ddl.auto=update

## hibernate cache
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
hibernate.cache.use_query_cache=false
hibernate.cache.use_second_level_cache=true

## C3P0 configuration
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/baseframeformaven??useUnicode=true&characterEncoding=utf-8
hibernate.connection.username=root
hibernate.connection.password=123

    8. 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.devMode" value="false" />
    <!-- 将对象交给spring管理 -->
    <constant name="struts.objectFactory" value="spring" />
    <!-- 指定资源编码类型 -->
    <constant name="struts.i18n.encoding" value="UTF-8" /> 
	<!-- 指定每次请求到达,重新加载资源文件 -->
    <constant name="struts.i18n.reload" value="false" />
    <!-- 指定每次配置文件更改后,自动重新加载 -->
    <constant name="struts.configuration.xml.reload" value="false" />
    <!-- 国际化资源文件 -->
    <constant name="struts.custom.i18n.resources" value="resources/content/Language" />
    <!-- 默认后缀名 -->
    <constant name="struts.action.extension" value="do,action,jhtml,," />
	<!-- Struts Annotation -->
    <constant name="actionPackages" value="cn.apple.baseFrameForMaven.action"/>
    
    <!-- 去掉struts2标签的自带样式 -->
    <constant name="struts.ui.theme" value="simple" /> 
	<constant name="struts.ui.templateDir" value="template" /> 
	<constant name="struts.ui.templateSuffix" value="ftl" />
</struts>

    9. Language_zh_CN.properties

   

Demo=\u793A\u4F8B

    10. Language_en_US.properties

   

Demo=Demo Page

    11. 如此这般,不出意外,你的程序就应该可以跑起来了,我写了一个简单的登录程序验证一下:

        login.jsp

       

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
  	<base href="<%=basePath%>">
    <title>基础框架--登录</title>
  </head>
  
  <body>
    <s:form action="loginAction">
    	<s:label value="%{#request.errorMessage}"/>
    	<s:textfield id="login" name="login" label="帐号" maxlength="36" size="20"/>
    	<s:password id="password" name="password" label="密码" maxlength="12" size="19"/>
    	<s:submit value="登陆" onclick="return validate()"/>
	</s:form>
  </body>
</html>

    success.jsp

   

<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>基础框架--登录成功</title>
  </head>
  
  <body>
    	欢迎您:<s:label value="%{#request.userName}"/>
  </body>
</html>

   

package cn.apple.baseFrameForMaven.action;

import javax.annotation.Resource;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.stereotype.Controller;

import cn.apple.erp.base.action.BaseAction;
import cn.apple.baseFrameForMaven.model.User;
import cn.apple.baseFrameForMaven.service.UserService;

/**
 * 登录用ACTION
 * 
 * @author 张鑫
 *
 */
@Controller
public class LoginAction extends BaseAction {

	private static final long serialVersionUID = 1L;
	@Resource
	private UserService userService;//用户信息service层

	/**
	 * 用户登录验证
	 * 
	 * @return 
	 */
	@SuppressWarnings("restriction")
	@Action(value = "/loginAction", 
			results = { @Result(name = ERROR, location = "/jsp/login/login.jsp"),
						@Result(name = SUCCESS, location = "/jsp/login/success.jsp")
					  })
	public String verification(){
		//从页面获取帐号和密码
		String login = httpServletRequest.getParameter("login");
		String password = httpServletRequest.getParameter("password");
		User user = userService.findUserByLogin(login);//根据帐号到数据库中获取用户信息
		
		//处理返回值信息
		if(user==null){ //没有该用户
			httpServletRequest.setAttribute("errorMessage", "该账户不存在");//设置出错提示信息
			return ERROR;
		}else if(user.getUser_password()==null){ //数据库该用户密码为空
			httpServletRequest.setAttribute("errorMessage", "帐号异常:没有密码。请联系管理员或者重新注册");//设置出错提示信息
			return ERROR;
		}else if(!(user.getUser_password().equals(password))){ //判断密码是否匹配
			httpServletRequest.setAttribute("errorMessage", "密码错误");//设置出错提示信息
			return ERROR;
		}else{ //登录成功,用户信息放入session
			httpServletRequest.setAttribute("userName", user.getUser_name());//设置用户名
			return SUCCESS;
		}
	}
}

    其他层我就不再往上写了。

猜你喜欢

转载自doujiang327.iteye.com/blog/1238767
今日推荐