ssh框架搭建

目录结构:

一、新建web project

二、在src目录下新建struts.xml  ,使用include是为了方便分开各个action

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.     <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->  
  8.     <constant name="struts.i18n.encoding" value="UTF-8" />  
  9.     <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->  
  10.     <constant name="struts.serve.static.browserCache" value="false" />  
  11.     <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->  
  12.     <constant name="struts.configuration.xml.reload" value="true" />  
  13.     <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->  
  14.     <constant name="struts.devMode" value="true" />  
  15.     <include file="admin.xml" />  
  16.   
  17. </struts>  

还有admin.xml

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.     <package name="admin"  extends="struts-default">  
  8.        <action name="admin_*" class="adminAction" method="{1}">  
  9.              <result name="login">          
  10.                /backend/main.jsp   <!-- 页面跳转 -->  
  11.             </result>  
  12.              <result name="delSuc" type="redirectAction">    
  13.                <param name="actionName">admin_login</param> <!-- action跳转 -->  
  14.             </result>  
  15.               
  16.         </action>  
  17.     </package>  
  18. </struts>  

三、在src目录增加hibernate.cfg.xml

[html] view plaincopy

  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.   
  6. <!-- Generated by MyEclipse Hibernate Tools.                   -->  
  7. <hibernate-configuration>  
  8.   
  9.     <session-factory>  
  10.         <mapping resource="com/d3/d3studio/model/Admin.hbm.xml" />  
  11.   
  12.     </session-factory>  
  13.   
  14. </hibernate-configuration>  

四、在WEB-INF增加applicationContext.xml

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  5.   
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.             http://www.springframework.org/schema/context   
  9.             http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  10.             http://www.springframework.org/schema/aop   
  11.             http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
  12.             http://www.springframework.org/schema/tx   
  13.             http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
  14.             ">  
  15.   
  16.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  17.         <!-- 指定连接数据库的JDBC驱动 -->  
  18.         <property name="driverClass">  
  19.             <value>com.mysql.jdbc.Driver</value>  
  20.          </property>  
  21.         <!-- 连接数据库所用的URL -->  
  22.         <property name="jdbcUrl">  
  23.             <value>jdbc:mysql://localhost:3306/pacs</value>  
  24.         </property>  
  25.         <!-- 连接数据库的用户名 -->  
  26.         <property name="user">  
  27.             <value>root</value>  
  28.         </property>  
  29.         <!-- 连接数据库的密码 -->  
  30.         <property name="password">  
  31.             <value>root</value>  
  32.         </property>  
  33.         <!-- 设置数据库连接池的最大连接数 -->  
  34.         <property name="maxPoolSize">  
  35.             <value>20</value>  
  36.         </property>  
  37.         <!-- 设置数据库连接池的最小连接数 -->  
  38.         <property name="minPoolSize">  
  39.             <value>2</value>  
  40.         </property>  
  41.         <!-- 设置数据库连接池的初始化连接数 -->  
  42.         <property name="initialPoolSize">  
  43.             <value>2</value>  
  44.         </property>  
  45.         <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->  
  46.         <property name="maxIdleTime">  
  47.             <value>20</value>  
  48.         </property>  
  49.     </bean>  
  50.     <bean id="sessionFactory"  
  51.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  52.         <property name="dataSource">  
  53.             <ref bean="dataSource" />  
  54.         </property>  
  55.          <property name="hibernateProperties">     
  56.              <props>     
  57.                  <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>     
  58.                  <prop key="hibernate.show_sql">true</prop>     
  59.                  <prop key="hibernate.fromat_sql">true</prop>   
  60.                  <prop key="hibernate.generate_statistics">true</prop>     
  61.                  <prop key="hibernate.connection.release_mode">auto</prop>     
  62.                  <prop key="hibernate.autoReconnect">true</prop>     
  63.                  <prop key="hibernate.cache.use_query_cache">true</prop>  
  64.                  <prop key="cache.use_second_level_cache">true</prop>  
  65.                  <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>   
  66.                  
  67.              </props>     
  68.          </property>   
  69.         <property name="mappingResources">  
  70.             <list>  
  71.                 <value>com/d3/pacs/model/Admin.hbm.xml</value>         <-- 对应model包里的映射 -->  
  72.             </list>  
  73.         </property>  
  74.     </bean>  
  75.       
  76.       
  77.     <bean id="txManager"  
  78.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  79.         <property name="dataSource" ref="dataSource" />  
  80.     </bean>  
  81.     <tx:annotation-driven transaction-manager="txManager" />  
  82.     <-- 使用spring的注入  -->  
  83.     <bean id="adminDAO" class="com.d3.pacs.dao.AdminDAO">  
  84.     <property name="sessionFactory" ref="sessionFactory" />  
  85.     </bean>  
  86.     <bean id="adminService" class="com.d3.pacs.service.AdminService">  
  87.         <property name="adminDAO" ref="adminDAO" />  
  88.     </bean>  
  89.     <bean id="adminAction" class="com.d3.pacs.action.AdminAction" scope="prototype">  
  90.         <property name="adminService" ref="adminService" />  
  91.     </bean>  
  92.       
  93. </beans>  

五、web.xml需要修改

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="3.0"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
  7.   <display-name></display-name>   
  8.     <!-- 配置struct2-->  
  9.     <filter>  
  10.         <filter-name>struts2</filter-name>  
  11.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  12.     </filter>  
  13.     <filter-mapping>  
  14.         <filter-name>struts2</filter-name>  
  15.         <url-pattern>/*</url-pattern>  
  16.     </filter-mapping>  
  17.   
  18.     <!-- 启动Spring容器 -->  
  19.     <listener>  
  20.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  21.     </listener>  
  22.     <!-- 默认启动项 -->  
  23.   <welcome-file-list>  
  24.     <welcome-file>login.jsp</welcome-file>  
  25.   </welcome-file-list>  
  26. </web-app>  

六、编写action

[java] view plaincopy

  1. public class AdminAction extends ActionSupport {  
  2.     private static Logger logger = Logger.getLogger(AdminAction.class);  
  3.     private AdminService adminService;  
  4.     private Admin admin;  
  5.   
  6.     public AdminService getAdminService() {  
  7.         return adminService;  
  8.     }  
  9.   
  10.     public void setAdminService(AdminService adminService) {  
  11.         this.adminService = adminService;  
  12.     }  
  13.   
  14.     public Admin getAdmin() {  
  15.         return admin;  
  16.     }  
  17.   
  18.     public void setAdmin(Admin admin) {  
  19.         this.admin = admin;  
  20.     }  
  21.   
  22.     // 管理员登陆  
  23.     public String login() {  
  24.         if(adminService.login(admin) !=null){  
  25.             HttpServletRequest request = ServletActionContext.getRequest();  
  26.             HttpSession session = request.getSession(true);  
  27.             session.setAttribute("admin1", admin);  
  28.             return "login";  
  29.         }  
  30.         else  
  31.             return "loginFail";  
  32.     }  
  33.   
  34.     // 管理员注册  
  35.     public String regist() {  
  36.         return "regist";  
  37.     }  
  38.   
  39.     // 退出管理员  
  40.     public String exit() {  
  41.         HttpServletRequest request = ServletActionContext.getRequest();  
  42.         request.getSession().removeAttribute("admin1");  
  43.         return "exit";  
  44.     }  
  45. }  

七、   访问流程: 在jsp中提交action    提交表单<form id="login" action="/my/admin_login" method="post">    

/my是我的tomcat自己定义的虚拟目录,   admin_* 对应的是admin.xml中 <action name="admin_*" class="adminAction" method="{1}">

访问admin_login  对应的就是action类中的public String login()的方法 ,根据此方法返回的String 

对应的也是admin.xml 中 ,返回login则会跳刀main.jsp

<result name="login">        
               /backend/main.jsp   <!-- 页面跳转 -->
            </result>
             <result name="regist">        
               /backend/main.jsp   <!-- 页面跳转 -->
            </result>
             <result name="delSuc" type="redirectAction">  
               <param name="actionName">admin_login</param> <!-- action跳转 -->
            </result>

另外,struts会自动匹配类属性和jsp中name

比如: 

jsp里面有  :  <INPUT class=TxtUserNameCssClass maxLength=20 name="name">

对应在action里面,如果有name的属性,只要提供get,set方法,那么jsp中的name就会传到action

另外还可以:    <INPUT class=TxtUserNameCssClass maxLength=20 name="admin.name">

对应action里面有个admin的类属性且 admin有name属性, 则会赋值

下载地址:  SSH框架模板,已搭建完毕  点击下载

时间: 2024-08-02 10:33:44

ssh框架搭建的相关文章

ssh框架搭建过程中的问题!

问题描述 ssh框架搭建过程中的问题!

SSH框架网上商城项目第10战之搭建商品类基本模块_java

前面我们完成了与商品类别相关的业务逻辑,接下来我们开始做具体商品部分.1. 数据库建表并映射Model首先我们在数据库中新建一张表,然后使用逆向工程将表映射成Model类,表如下: /*=============================*/ /* Table: 商品表结构 */ /*=============================*/ create table product ( /* 商品编号,自动增长 */ id int primary key not null auto_

ssh框架-关于学习与使用SSH框架的书

问题描述 关于学习与使用SSH框架的书 求大神推荐一本关于SSH框架的书,谢谢.最好是对于学习与工作上的使用都有很好帮助的书. 解决方案 ssh 解决方案二: 几年前的一篇博客文章.看看有帮助没.SSH框架搭建

路径-SSH框架 论MyEclipse10 下ContextLoaderListener 出现的问题

问题描述 SSH框架 论MyEclipse10 下ContextLoaderListener 出现的问题 论SSH框架搭建完成后运行出现ContextLoaderListener的问题 错误提示: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.bea

SSH框架网上商城项目第8战之查询和删除商品类别功能实现_java

上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加.更新.删除和查询.首先我们实现下前台的显示,然后再做后台获取数据.1. 添加.更新.删除和查询功能的前台实现DataGrid控件里有个toolbar属性,是添加工具栏的,我们可以在toolbar属性中添加这些按钮来实现相应的功能.先看一下官方文档对toolbar的定义: 我们使用数组的方式定义工具栏,在query.jsp页面中新添加如下代码: <%@ page language="java" i

有没有jaee的ssh框架的典型事例啊

问题描述 求ssh框架典型事例! 解决方案 解决方案二:我在写呢,现在事物控制有点问题,你要么解决方案三:网上有很多现成的开源项目,jeecms和jeesite,下下来自己看吧,不复杂的.解决方案四:随便找个视频教程看看,很多都有.购物系统是很常用的ssh框架搭建的项目,晚上有的是.

Java的web开发中SSH框架的协作处理应用笔记_java

 相信SSH没人不知道了吧,struts2+spring+hibernate,企业开发的"基础"架构,为什么基础标上引号,因为这个基础只是很多人自以为的而已,最基础的是servlet,很多培训机构很多基础都不教,直接上来就三大框架了,SSH不然就SSI,搞得很多人以为JAVAWEB开发就一定要框架,没框架就跟没了手一个样.三大框架没有什么坏处,实用,很多公司都在用,直接上手开发.但毕业以为真的好久没用三大框架了,spring倒是有用,特别是springMVC,感觉用起来比struts2

SSH框架网上商城项目第9战之添加和更新商品类别功能实现_java

 上一节我们做完了查询和删除商品的功能,这一节我们做一下添加和更新商品的功能.1. 添加商品类别1.1 添加类别的UI设计        我们先说一下思路:首先当用户点击"添加商品"时,我们应该弹出一个"添加商品"的UI窗口(注意这里不是跳转到新的jsp,EasyUI只有一个页面),弹出这个"添加商品"的窗口后,应该锁住它父类的所有窗口(即点击其他地方无效,只能操作添加商品的窗口),等用户填好了信息后,在新弹出来的窗口上点击"添加&qu

struts2.0-SSH框架搭建过程中,Struts2出现导包问题

问题描述 SSH框架搭建过程中,Struts2出现导包问题 SSH框架搭建过程中,控制台出现这个问题 Unable to load configuration. - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-core-2.3.16.3.jar!/struts-default.xml:98:128 Struts2支持包如下: C:Program FilesA