eclipse搭建SSH框架详解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。 
第一步:准备工作。 
  下载好eclipse,Struts2,Spring,Hibernate。 
  1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。
                 当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins) 
  2.Struts2:http://struts.apache.org/download 
         1)引入Struts的jar包。下载 struts-*-all.zip 解压后,struts/lib目录下是struts所有的相关jar包。 
         其中有5个是必须的:

               Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar, 
               Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar 
         其余jar包并不是struts必须的。还有3个包也要注意导入。不导入运行Tomcat时候可能会出现异常。 
               commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar 
         注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。 


  3.Spring:http://www.springsource.com/download/community 
        还可以在eclipse下安装下载。具体步骤是这样的:
        1)打开eclipse-help-Software Updates.

 
        2) 在打开的对话框中选择上面的第二项(Available Software)。

 
        3)点击Add Site按钮,弹出URL对话框。 


        4)在对话框里输入:http://springide.org/updatesite/点击OK。 


        5)选择sping IDE点击安装(Install)。


  4.Hibernate:http://sourceforge.net/projects/hibernate/files/hibernate3/ 

  5.Jdk的src.zip包导入。(当然不导入也可以。。。) 

第二步: 

  1.创建一个 Web Progect,自己起一个喜欢的名字。 

  2.修改WEB-INF下的web.xml文件,增加struts2的配置。

Xml代码 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  5.     id="WebApp_ID" version="2.5">  
  6.     <display-name>SSHTest</display-name>  
  7.     <!-- struts Framework -->  
  8.     <filter>  
  9.         <filter-name>struts2</filter-name>  
  10.         <filter-class>  
  11.           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
  12.         </filter-class>  
  13.     </filter>  
  14.     <filter-mapping>  
  15.         <filter-name>struts2</filter-name>  
  16.         <url-pattern>/*</url-pattern>  
  17.     </filter-mapping>  
  18.     <!-- welcome file -->  
  19.     <welcome-file-list>  
  20.         <welcome-file>index.jsp</welcome-file>  
  21.     </welcome-file-list>  
  22. </web-app>  


  3.在WEB-INF/classes目录下添加struts.xml配置文件: 

Xml代码 
  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. <struts>  
  6.     <package namespace="/" name="struts2" extends="struts-default">  
  7.         <action name="login" method="execute" class="loginAction">  
  8.             <result name="success">/WEB-INF/jsp/login.jsp</result>  
  9.             <result name="input">/WEB-INF/index.jsp</result>  
  10.         </action>  
  11.     </package>  
  12. </struts>    

 
  4.配置Spring 

    1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。 


    2)配置web.xml文件。 

Xml代码 
  1. <!-- Spring Framework -->  
  2. <listener>  
  3.     <listener-class>  
  4.       org.springframework.web.context.ContextLoaderListener  
  5.     </listener-class>  
  6. </listener>  
  7. <context-param>  
  8.     <param-name>contextConfigLocation</param-name>  
  9.     <param-value>  
  10.         classpath:/applicationContext*.xml  
  11.     </param-value>  
  12. </context-param>  

 
    3)添加applicationContext.xml文件。 

Xml代码 
  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"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  8.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
  9.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  
  10.     <!-- Action -->  
  11.     <bean id="loginAction" scope="prototype" class="action.LoginAction"></bean>  
  12. </beans>  

 
    4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。 


  5.配置Hibernate 

        1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA/lib/required目录中的jar包。 

                hibernate3.jar                         核心类库 
                antlr-2.7.6.jar                          代码扫描器,用来翻译HQL语句 
                commons-collections-3.1.jar    Apache Commons包中的一个,包含了一些Apache开发的集合类, 

                                                                功能比java.util.*强大 
                dom4j-1.6.1.jar                        一个Java的XML API,类似于jdom,用来读写XML文件的 
                javassist-3.4.GA.jar                 Javassist 字节码解释器 
                jta-1.1.jar                                标准的JTA API。 
                slf4j-api-1.5.2.jar 
                slf4j-nop-1.5.2.jar 


        2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。 
            (本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。 
            *注意:需要导入Access_JDBC30.jar。 
   hibernate.cfg.xml:

Xml代码 
  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. <hibernate-configuration>  
  6.     <session-factory>  
  7.         <property name="connection.driver_class">  
  8.             com.hxtt.sql.access.AccessDriver     
  9.         </property>  
  10.         <property name="connection.url">  
  11.             jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb  
  12.         </property>  
  13.         <!--  数据库连接设置 -->  
  14.         <property name="eclipse.connection.profile">access</property>  
  15.         <property name="connection.username"></property>  
  16.         <property name="connection.password"></property>  
  17.         <property name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>  
  18.         <!-- show_sql 生成SQL语句 -->  
  19.         <property name="show_sql">true</property>  
  20.         <!-- SQL dialect 方言 -->  
  21.         <property name="hibernate.dialect">  
  22.             com.hxtt.support.hibernate.HxttAccessDialect     
  23.         </property>  
  24.         <!-- 添加实体类的映射文件-->  
  25.         <mapping resource="Login.hbm.xml" />  
  26.             
  27.         <!-- Annotation方式配置  
  28.         <mapping class="entity.Login"/>  
  29.          -->  
  30.     </session-factory>  
  31. </hibernate-configuration>  

 
             注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java 
                     (如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。) 
                      Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session, 
                      而是类似于JDBC中的 Connection。Session是Hibernate运作的中心, 
                      对象的生命周期、事务的管理、数据库的存取都与session息息相关。 
                      而Session是由HibernateSessionFactory创建的,是线程安全的, 
                      可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题, 
                      但不能让多个线程共享一个Session。 

       3)Login.hbm.xml文件

Xml代码 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.           "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >  
  5. <hibernate-mapping package="包名">  
  6.     <class name="类名" table="表名">  
  7.         <id name="主键在java类中的字段名" column="对应表中字段" type="类型 ">  
  8.             <generator class="主键生成策略"/>  
  9.         </id>  
  10.     </class>  
  11. </hibernate-mapping>  

 

  6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。 
        1)  配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:

Xml代码 
  1. <!-- sessionFactory -->  
  2.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  3.        <property name="configLocation">  
  4.            <value>classpath:/hibernate.cfg.xml</value>  
  5.        </property>  
  6.     </bean>  

 

转载于:https://my.oschina.net/u/347414/blog/145351

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙芯派启用串口3-5

硬件平台&#xff1a;龙芯派二代 内核版本&#xff1a;linux-3.10 这几天在龙芯派上加了一个无线串口&#xff0c;决定采用串口3来连接串口&#xff0c;在龙芯派上执行 #ls /dev/ttyS* 发现只有ttyS0&#xff0c;查看设备树后发现其他串口的设备树节点都是有的&#xff0c…

智能家居 (7) ——网络服务器线程控制

目录网络线程控制代码inputCommand.hmainPro.csocketControl.c代码测试往期文章网络线程控制代码 inputCommand.h #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wiringPi.h> #include <wiringSerial.h> #include &l…

龙芯3A4000 VNC配置

安装 yum install tigervnc-server -y 拷贝配置文件 cp /lib/systemd/system/vncserver\.service /lib/systemd/system/vncserver:1.service修改配置文件 vim /lib/systemd/system/vncserver:1.service替换< USER>为用户名 配置、启动vnc systemctl enable vncs…

智能家居 (6) ——语音识别线程控制

目录语音识别线程控制代码inputCommand.hmainPro.cvoiceControl.c代码测试往期文章语音识别线程控制代码 inputCommand.h #include <stdio.h> #include <stdlib.h> #include <string.h> #include <wiringPi.h> #include <wiringSerial.h>struc…

MIPS结构体传参

本文讲解了C语言运行在MIPS体系中结构体传参的情况 硬件平台&#xff1a;Loongson 3A3000 系统&#xff1a;uos 在《see MIPS run》中11.2.5中描述到&#xff0c;会将结构体成员压缩到各个arg寄存器中进行传递 “we have to pack the register with data to mimic the arran…

对象创建过程之二(类加载器)

2019独角兽企业重金招聘Python工程师标准>>> JAVA为我们提供了两种动态加载机制。 第一种是隐式机制。其实new一个对象和调用类的静态方法时&#xff0c;就是隐式机制在工作。 第二种是显示机制。显示的机制又有两种策略 第一种是用public static Class<?> …

Python_堆栈和队列

堆栈和队列 (1)堆栈&#xff0c;新放进去的先取出 #encodingutf-8 >>> stack [3, 4, 5] >>> stack.append(6) >>> stack.append(7) >>> print (stack) [3, 4, 5, 6, 7] >>> print (stack.pop()) 7 >>> print (stack) […

智能家居 (10) ——人脸识别祥云平台编程使用(编译libcurl库支持SSL,安装SSL依赖库libssl、libcrypto)

目录说明人工智能OCR识别平台介绍人脸识别接口购买编程打通OCR后台实现人脸识别&#xff08;ubuntu上实现&#xff09;问题发现编译libcurl库支持SSL安装SSL依赖库openSSL(使用工具wget)curl库重新配置&#xff0c;编译&#xff0c;安装开启SSL后重新编译人脸识别.C文件传入图片…

srs 服务关闭命令_【经验总结】如何做到网络版工作站与服务器时间同步?

随着行业发展&#xff0c;越来越多的实验室色谱数据工作站由原来的单机版&#xff0c;升级为网络版。升级后带来的益不必多说&#xff0c;那么升级带来的困难你遇到过吗&#xff1f;快来跟小析姐一起看看牛人是如何解决问题的吧。最近公司将色谱工作站进行了升级&#xff0c;采…

oss图片尺寸调用方式_是时候来一场轰轰烈烈的OSS升级了

【摘要】伴随5G和云网部署的持续推进&#xff0c;运营商OSS升级建设都已经在不断加速。| 科 | 技 | 杂 | 谈 |中国通信行业第一自媒体【1】运营商的IT支撑系统&#xff0c;正迫切需要新一轮的调整转型。今天&#xff0c;中国移动在2020全球合作伙伴大会上宣布&#xff0c;全球最…

由C过渡到C++-入门知识点

从C语言过渡到C&#xff0c;这些知识点应该是比较重要的。 目录 第一个C程序名称空间特性coutcin 缺省参数重载提问&#xff1a;为什么C语言不支持重载而C支持 引用常引用 引用与函数返回值对于指针和引用的区别引用的底层实现两者在语法上两者在物理上两者的不同之处 内联函数…

gdb pwndbg插件安装

环境&#xff1a; gdb 9.2ubuntu 20(x64) 连接 pwndbggdb9.2gdb9.2网盘连接 密码: kaq4GDB中文教程 编译gdb 由于发行的gdb比较老&#xff0c;pwndbg建议使用高版本GDB&#xff0c;因此我们下载最新的GDB9.2 安装依赖 #apt install texinfo解压GDB,卸载自带GDB #tar -vxf…

Android--UI之DatePicker、TimePicker...

前言 这一篇博客分别讲解Android平台下&#xff0c;关于日期和时间的几个相关控件。包括DatePicker&#xff08;日期选择控件&#xff09;、TimePicker&#xff08;时间选择控件&#xff09;、DatePickerDialog&#xff08;日期选择对话框&#xff09;、TimePickerDialog&#…

递归和迭代路由_静态路由在以太网接口中的不同书写会导致路由器怎样的操作结果?...

各位小伙伴们&#xff1a;大家好&#xff01;上一节和大家分享了在不同类型的网络中应该使用什么样的静态路由配置命令&#xff1b;今天我们再来看看在常见的多路访问(MBA)网络——以太网中&#xff0c;静态路由的不同书写方式将导致路由器执行那些不同的操作。如下图&#xff…

实验报告三

学 号 201521440010 中国人民公安大学 Chinese people’ public security university 网络对抗技术 实验报告 实验三 密码破解技术 学生姓名 邱景丛 年级 2015 区队 四 指导教师 高见 信息技术与网络安全学院 2016年11月7日 实验任务总纲 2016—2017 学年 第 一 …

设计前沿:25个设计师向您展示 iOS 7 界面

我们中的许多人都对新发布的 iOS 7 用户界面有点失望。扎眼的颜色搭配&#xff0c;难看的图标和可疑的设计决策&#xff0c;导致很多的设计师在 Dribbble 和 Behance 等社交网站分享自己对 iOS 界面设计的诠释。这篇文章集合了一些伟大的想法&#xff0c;改进苹果 iOS 7 的界面…

智能家居 (11) ——树莓派摄像头捕捉人脸并识别

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

centos上使用高版本gcc、g++

0x0 在centos7上gcc版本是4.85&#xff0c;在编译一些代码时需要使用g的一些新特性&#xff0c;而网上大多教程都是重新编译gcc&#xff0c;太麻烦了&#xff0c;在centos 7上默认是yum search不到高版本的gcc的 安装scl scl 是Software collections 的缩写&#xff0c;安装…

【Docker系列教程之一】docker入门

我们在理解 docker 之前&#xff0c;首先我们得先区分清楚两个概念&#xff0c;容器和虚拟机。 我们用的传统虚拟机如 VMware &#xff0c; VisualBox 之类的需要模拟整台机器包括硬件&#xff0c;每台虚拟机都需要有自己的操作系统&#xff0c;虚拟机一旦被开启&#xff0c;预…

Java基础 —— 变量,选择,循环,数组,输入与输出等

目录嵌入式学JAVAJava安卓开发环境搭建并运行HelloWorld概念引入JavaSE,EE,ME的区别JREJDK编程实操&#xff1a;从C面向过程转变变量定义与输出数组的定义与遍历(循环、控制、选择和C完全一样)函数的调用&#xff1a;类比c语言结构体的使用输入数据&#xff1a;Scanner嵌入式学…