SSH框架整合步骤

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,独享型 2核4GB
简介:
 
SSH框架整合步骤:
 
1.建web project
2.导入struts2.0的jar包(基本的五个加上struts2-spring-plugin-2.0.14.jar)
3.导入spring的jar包,这里加hibernate关联的包,用myeclipse可以完成。
4.建hibernate的数据映射文件
5.建自己要用到的业务类,action,jsp页面。
6.配制web.xml,struts.xml,applicationContext.xml

web.xml文件:
<? xml  version ="1.0"  encoding ="UTF-8" ?> 
< web-app  version ="2.4"    
xmlns ="http://java.sun.com/xml/ns/j2ee"    
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"    
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
[url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]" > 
<!--  配置applicationContext.xml的路径 --> 
<!--  用于初始化Spring容器的Listener --> 
<!--  定义Struts2的FilterDispathcer的Filter --> 
<!--  定义整合SiteMesh必须的ActionContextCleanUp Filter --> 
    
    



<!--  配置applicationContext.xml的路径 --> 
< context-param > 
< param-name >contextConfigLocation </ param-name > 
< param-value >/WEB-INF/applicationContext.xml </ param-value > 
</ context-param > 
<!--  配置监听,spring与struts关联 --> 
<!--  用于初始化Spring容器的Listener --> 
< listener > 
     < listener-class > 
     org.springframework.web.context.ContextLoaderListener 
     </ listener-class > 
</ listener > 
    
<!--  定义Struts2的FilterDispathcer的Filter --> 
< filter > 
     < filter-name >struts2 </ filter-name > 
     < filter-class > 
     org.apache.struts2.dispatcher.FilterDispatcher 
     </ filter-class > 
</ filter > 
<!--  配置struts2.0的 cleanup--> 
<!--  定义整合SiteMesh必须的ActionContextCleanUp Filter --> 
< filter > 
     < filter-name >struts-cleanup </ filter-name > 
     < filter-class > 
     org.apache.struts2.dispatcher.ActionContextCleanUp 
     </ filter-class > 
</ filter > 
< filter-mapping > 
     < filter-name >struts-cleanup </ filter-name > 
     < url-pattern >/* </ url-pattern > 
</ filter-mapping > 
<!--  FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 --> 
< 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 > 
</ web-app > 
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 > 
< package  name ="default"  extends ="struts-default" > 
     < action  name ="Login"  class ="loginAction" > 
      < result  name ="input" >Login.jsp </ result > 
      < result  name ="success" >success.jsp </ result > 
     </ action > 
     
</ package > 
</ struts > 


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" 
xsi:schemaLocation ="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans-2.0.xsd[/url]" > 

<!--  定义dataSource --> 
<!--  定义sessionFactory , 这里要加hibernate的数据库表的映射文件***.hbm.xml --> 
<!--  事务管理 --> 
<!--  事务拦截器 --> 
<!--  业务实例动态代理 --> 
<!--  定义业务处理bean --> 




<!--  定义dataSource,myeclipse配置完成 --> 
< bean  id ="dataSource" 
     class ="org.apache.commons.dbcp.BasicDataSource" > 
     < property  name ="driverClassName" 
      value ="com.microsoft.jdbc.sqlserver.SQLServerDriver" > 
     </ property > 
     < property  name ="url" 
      value ="jdbc:microsoft:sqlserver://localhost:1433" > 
     </ property > 
     < property  name ="username"  value ="sa" > </ property > 
     < property  name ="password"  value ="sa" > </ property > 
</ bean > 
<!--  定义sessionFactory,myeclipse配置完成 , 这里要加hibernate的数据库表的映射文件***.hbm.xml --> 
< bean  id ="sessionFactory" 
     class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean" > 
     < property  name ="dataSource" > 
      < ref  bean ="dataSource"  /> 
     </ property > 
     < property  name ="mappingResources" > 
      < list > 
         < value >com/student/model/User.hbm.xml </ value > 
      </ list > 
     </ property > 
     < property  name ="hibernateProperties" > 
      < props > 
         < prop  key ="hibernate.dialect" > 
         org.hibernate.dialect.SQLServerDialect 
         </ prop > 
         < prop  key ="hibernate.hbm2ddl.auto" >update </ prop > 
         < prop  key ="hibernate.jdbc.batch_size" >20 </ prop > 
      </ props > 
     </ property > 
</ bean > 
<!--  声明事务,作用就是对一系列操作在运行时错误的情况能回滚 --> 
<!--  事务管理 --> 
< bean  id ="transactionManager" 
     class ="org.springframework.orm.hibernate3.HibernateTransactionManager" > 
     < property  name ="sessionFactory"  ref ="sessionFactory"  /> 
</ bean > 
    
        <!--  事务拦截器 --> 
         < bean  id ="transactionInterceptor" 
     class ="org.springframework.transaction.interceptor.TransactionInterceptor" > 
    <!--     事务拦截器bean需要依赖注入一个事务管理器 --> 
     < property  name ="transactionManager"  ref ="transactionManager"  /> 
     < property  name ="transactionAttributes" > 
     <!--     下面定义事务传播属性--> 
      < props > 
         < prop  key ="get*" >PROPAGATION_REQUIRED,readOnly </ prop > 
         < prop  key ="*" >PROPAGATION_REQUIRED </ prop > 
      </ props > 
     </ property > 
</ bean > 
         
        <!--  业务实例动态代理 --> 
<!--  定义BeanNameAutoProxyCreator--> 
< bean 
     class ="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator" > 
    <!--     指定对满足哪些bean name的bean自动生成业务代理 --> 
     < property  name ="beanNames" > 
     <!--     下面是所有需要自动创建事务代理的bean--> 
      < list > 
         < value >userManager </ value > 
      </ list > 
     <!--     此处可增加其他需要自动创建事务代理的bean--> 
     </ property > 
    <!--     下面定义BeanNameAutoProxyCreator所需的事务拦截器--> 
     < property  name ="interceptorNames" > 
      < list > 
        <!--  此处可增加其他新的Interceptor --> 
         < value >transactionInterceptor </ value > 
      </ list > 
     </ property > 
</ bean > 
    
     
<!--  定义业务处理bean --> 
< bean  id ="userManager" 
     class ="com.student.service.UserManagerImpl" > 
     < property  name ="userDao"  ref ="userDao"  /> 
</ bean > 

< bean  id ="userDao"  class ="com.student.dao.UserDaoHibernate" > 
     < property  name ="sessionFactory"  ref ="sessionFactory"  /> 
</ bean >
 
<!--  这里一定要加:scope = "prototype",否则action实例不会更新--> 

< bean  id ="loginAction"  class ="com.student.action.LoginAction" scope = "prototype" > 
     < property  name ="userManger"  ref ="userManager"  /> 
</ bean > 
    

    
    
</ beans > 

 
以上是一个大致的流程,关键是SSH有相关jar包要导入正确,还有就是上面的三个配置文件比较重要,这两点没有问题,SSH配置就基本OK。
 
这里只是给出了一个简单流程,给刚学习struts2.0+spring+hibernate的朋友一些参考,希望有所帮助,共同学习,相互交流。









本文转自 yuwenhu 51CTO博客,原文链接:http://blog.51cto.com/yuwenhu/146117,如需转载请自行联系原作者
相关实践学习
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
9月前
|
Java 关系型数据库 MySQL
JSP SSH公车拍卖系统myeclipse开发mysql数据库bs框架java编程网结构
JSP SSH公车拍卖系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
55 0
|
11天前
|
网络安全 数据安全/隐私保护
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
14 0
|
2月前
|
Java 数据库连接 网络安全
SSH 组合框架模式小知识分享
【5月更文挑战第4天】SSH 组合框架模式小知识分享
23 0
|
2月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
234 2
|
2月前
|
前端开发 Java 网络安全
基于SSH框架甜品商城管理系统【源码+数据库】
基于SSH框架甜品商城管理系统【源码+数据库】
|
9月前
|
前端开发 Java 关系型数据库
JSP仓库进销存系统ssh框架mysql数据库myeclipse开发mvc结构java
JSP 仓库进销存系统(struts2+hibernate) 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
37 0
|
10月前
|
Java 网络安全 Spring
SSH框架学习中遇到的问题
SSH框架学习中遇到的问题
35 0
|
10月前
|
网络协议 网络安全 Windows
通过安装cpolar内网穿透在Kali上实现SSH远程连接的步骤指南(下)
通过安装cpolar内网穿透在Kali上实现SSH远程连接的步骤指南(下)
112 0
|
10月前
|
网络协议 Linux 网络安全
通过安装cpolar内网穿透在Kali上实现SSH远程连接的步骤指南(上)
通过安装cpolar内网穿透在Kali上实现SSH远程连接的步骤指南(上)
130 0
|
11月前
|
安全 Unix Linux
SSH免密登录详细操作步骤
SSH免密登录详细操作步骤
415 0