编程语言初相遇,一见java误终身
上篇博客我们已经完成spring和Hibernate的整合测试,现在我们完成User类的spring和*struts2的整合 。
一、配置文件
JSP和action层的交互是由struts.xml完成的,我们在src目录下新建struts.xml
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="ssh" namespace="/user" extends="struts-default">
<action name="userAction_*"
class="userAction" method="{1}">
<result name="loginsuccess">/user/login_success.jsp</result>
<result name="loginerror">/user/login.jsp</result>
<result name="registersuccess">/user/register_success.jsp</result>
<result name="registererror">/user/register.jsp</result>
</action>
</struts>
在上一篇博客的基础上,对applicationContext.xml进行改造,将UserAction交于spring管理,并在Userservice层,添加AOP事物管理。
applicationContext.xml
前面已经配置了service和dao,现在配置Action,新增配置:
<!-- 配置Action -->
<bean id="userAction" class="cn.itcast.action.user.UserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
<!-- 事物管理配置 -->
<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="find*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.itcast.service.user.*.*(..))"/>
</aop:config>
二、JSP文件
在WebContent目录下新建user文件夹,创建user登录注册,登录成功,注册成功页面。
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<% String path=request.getContextPath()+"/