您的位置:首页 > 运维架构 > 网站架构

SSH框架搭建(附带,框架写的标准的三层架构小程序,实现简单的登陆校验,增删改查功能)

2014-07-31 10:36 1046 查看
学习完Struts2,Hibernate,Spring,终于开始了框架整合,其中遇到各种问题,不过还是把环境搭建了出来。谨以此文章来帮助那些刚开始学习框架,及想学到新知识的人,每天学到一点,坚持才会有收获,A ZA A ZA Fighting !

第一步:导入所需要的jar包,如图所示:(第二个为Spring的)

整个程序结构树如下:

对应配置文件,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.enable.DynamicMethodInvocation" value="true" />

<constant name="struts.i18n.encoding" value="UTF-8"></constant>

<constant name="struts.devMode" value="true" />

<package name="registration" extends="struts-default">

<!-- 添加-->

<action name="add" class="com.niit.registrantion.action.UserAddAction" method="add">

<result name="success" type="chain">list</result>

</action>

<!-- 登陆-->

<action name="login" class="com.niit.registrantion.action.UserLoginAction"

method="login">

<result name="success">/findUser.jsp</result>

<result name="fail">/loginFail.jsp</result>

</action>

<!-- 查询-->

<action name="find" class="com.niit.registrantion.action.UserFindAction"

method="find">

<result name="success">/findSuccess.jsp</result>

<result name="fail">/findFailed.jsp</result>

</action>

<!-- 删除-->

<action name="delete" class="com.niit.registrantion.action.UserDeleteAction"

method="delete">

<result name="success">/deleteSuccess.jsp</result>

</action>

<!-- 修改-->

<action name="edit" class="com.niit.registrantion.action.UserEditAction"

method="edit">

<result name="success" type="chain">list</result>

</action>

<!-- 列表-->

<action name="list" class="com.niit.registrantion.action.UserListAction" >

<result>/userList.jsp</result>

</action>

</package>

</struts>

bean.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:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 使用annotation,@Component时配置-->

<context:annotation-config/>

<context:component-scan base-package="com.niit"></context:component-scan>

<!-- 使用datasource连接数据库-->

<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://localhost:3306/user"/>

<property name="username" value="root"/>

<property name="password" value="root"/>

</bean>

<!-- 把dataSource注入到session工厂-->

<bean name="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

<property name="dataSource" ref="dataSource"/>

<!--手动扫描实体类,如user之类,对应hibernate.cfg.xml中的<mapping-class>com.niit.model.user</mapping-class>

<property name="annotatedClasses">

<list>

<value>com.niit.model.User</value>

<value>com.niit.model.Log</value>

</list>

</property>

-->

<!-- 自动扫描model下面所有标有@Entity的实体类-->

<property name="packagesToScan">

<list>

<value>com.niit.registration.model</value>

</list>

</property>

<!-- hibernate中参数配置-->

<property name="hibernateProperties">

<value>

format_sql=true

show_sql=true

hbm2ddl.auto=update

hibernate.dialect=org.hibernate.dialect.MySQLDialect

</value>

</property>

</bean>

<!-- 使用事务@Transaction时的配置-->

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory" />

</bean>

<tx:annotation-driven transaction-manager="txManager"/>

<!-- 把sessionFactory注入到hibernateTemplate中,作为hibernate模板,其中封装了save,load等操作数据库方法,-->

<!-- 可以通过hibernate.save(Object)直接调用,而不需要取得session,开启,关闭事务等操作!与事务不同的时它在dao层使用,而

事务是在service层使用-->

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

<property name="sessionFactory" ref="sessionFactory"/>

</bean>

</beans>

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">
<welcome-file-list>

<welcome-file>login.jsp</welcome-file>

</welcome-file-list>

<!-- 自动加载配置文件xml,默认找在/WEB-INF/applicationContext.xml-->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- 若不在/WEB-INF目录下,可以手动配置如下:-->

<context-param>

<param-name>contextConfigLocation</param-name>

<!-- 在classpath目录下找bean.xml,即src目录下-->

<param-value>classpath:bean.xml</param-value>

</context-param>

<!-- 使用Struts2需要配置-->

<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>

</web-app>

附带:ssh搭建小程序链接http://download.csdn.net/detail/yuxuan19900/7702015
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐