SSH登录大致流程

用SSH(struts2、spring、hibernate)做一个登录

首先创建一个web项目

 

然后分别添加Struts2支持、spring支持、hibernate支持

 

添加log4j.properties配置文件

代码如图

#配置根 Logger
og4j.rootLogger = INFO , appender1, appender2,appender3

#配置日志信息输出目的地(appender)

#appender1 输出到控制台
log4j.appender.appender1 = org.apache.log4j.ConsoleAppender
log4j.appender.appender1.Threshold = INFO
log4j.appender.appender1.Target = System.err
log4j.appender.appender1.layout = org.apache.log4j.TTCCLayout

#appender2 输出到文件
log4j.appender.appender2 = org.apache.log4j.FileAppender
log4j.appender.appender2.Threshold = INFO
log4j.appender.appender2.File=E:/logs/logging.log
log4j.appender.appender2.layout = org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern = %p %d{yyyy/MM/dd HH:mm:ss,SSS} %1

#appender3 输出到 HTML
log4j.appender.appender3 = org.apache.log4j.FileAppender
log4j.appender.appender3.Threshold = INFO
log4j.appender.appender3.File=E:/logs/logging.html
log4j.appender.appender3.layout = org.apache.log4j.HTMLLayout
log4j.appender.appender3.layout.Title = Demo04SSH log

 

然后完善项目自动生成的applicationContext.xml文件:开启注解、加载配置文件、配置数据库源、Hibernate的sessionFactory session工厂注入、配置映射文件所在的目录、配置声明式事务管理(采用注解的方式)、开启注解事务

部分代码

<!-- 开启注解 -->
	<context:annotation-config />
	<!-- spring 扫描路径,注意当前工程只需要扫描dao和service -->
	<context:component-scan base-package="com.mp.dao,com.mp.service" />
	
	<!-- 加载配置文件 -->
	<bean id="propertyConfigurer"
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>

	<!-- 配置数据库源 数据库的链接信息 -->
	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" >
			<value>${driver}</value>
		</property>
		<property name="url">
			<value>${url}</value>
		</property>
		<property name="username">
			<value>${username}</value>
		</property>
		<property name="password">
			<value>${password}</value>
		</property>
	</bean>

 

 

<!-- Hibernate的sessionFactory session工厂 注入 -->
	<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.MySQLDialect
				</prop>
			</props>
		</property>
		<!-- <property name="mappingResources">
			<list>
				<value>com/mp/po/User.hbm.xml</value>
				<value>com/mp/po/Role.hbm.xml</value></list>
		</property> -->
		<!-- 配置映射文件所在的目录 -->
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath:cfg/po/</value>
			</list>
		</property>
	</bean>
	
	<!-- 配置声明式事务管理(采用注解的方式) -->
	<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>	
	</bean>
	<!-- 开启注解事务 -->
	<tx:annotation-driven transaction-manager="txManager"/>

编写dao、po、service层代码

 

Location控制代码

public class LoginAction extends ActionSupport implements ModelDriven<User> {

	@Autowired
	IUserService userService; 
	
	private User user;
	
	@Override
	public User getModel() {
		if (user==null) {
			user=new User();
		}
		return user;
	}
	
	public String login(){
		User rUser=userService.login(user);
		if (rUser!=null) {
			return SUCCESS;
		} else {
			return ERROR;
		}
	}
}

 

配置struts.xml文件

把struts2交给spring管理,struts2框架就会把bean转发给spring来创建、装配、注入。但是bean创建完成后,还是由struts容器来管理其生命周期

部分代码

<!-- constant 配置 -->
	<!-- 用于设置默认的本地编码 -->
	<constant name="struts.il8n.encoding" value="UTF-8" />
	<!-- 指定请求后缀为.action,指定多个请求后缀用逗号分隔 -->
	<constant name="struts.action.extension" value="action" />
	<!-- 设置浏览器是否缓存静态内容,建议:开发阶段关闭,运行时开启 -->
	<constant name="struts.serve.static.browserCache" value="false" />
	<!-- 当struts.xml配置文件修改后,系统是否重新加载该文件,开发阶段打开此功能 -->
	<constant name="struts.configuration.xml.reload" value="true"/>
	<!-- 开发提示:出错时打印更详细的信息,开发阶段打开此功能 -->
	<constant name="struts.devMode" value="true" />
	
	<!-- Struts2交给spring管理 -->
	<!-- struts2框架就会把bean转发给spring来创建,装配,注入。但是bean创建完成之后,还是由struts容器来管理其生命周期 -->
	<constant name="struts.objectFactory" value="spring" />
	
	<package name="user" namespace="/" extends="struts-default">
		<action name="loginAction" class="com.mp.web.LoginAction">
			<result name="success">/jsp/success.jsp</result>
			<result name="error">/jsp/error.jsp</result>
		</action>
	</package>

 

然后写三个jsp页面,登录的、登录成功跳转的、登录失败跳转的

 

运行的效果

 

然后输入用户名密码登录就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值