Eclipse下的SSH框架集成
第一篇:集成struts
struts-2.3.30 下载地址:http://struts.apache.org/download.cgi#struts252
第一步:把上面的jar包下载完成后,先在eclipse中新建一个web工程,新建工程的同时最好选上创建的同时添加web.xml文件
第二步:找到下载并解压好的strtus文件中找到apps目录下的strtus2-blank.war的压缩包,再找到这个压缩包中WEB-INF目录下的lib目录,最后将lib中的所有jar包复制到我们新建项目的lib包中(选择性加入)
第三步:配置web.xml文件,找到前面lib包所在的同级目录下的web.xml文件,复制出其配置的过滤器,如下:
注意:由于struts版本不同所以其配置的过滤器写法上略有差异,我们一般参照官方给的模板
<!--配置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>
第四部:我们可以写我们的action类了,编写action类我们一般会继承ActionSupport父类在aciton类中我们可以定义一个返回值为String类型的execute()方法[该方法为默认方法]。这里的action我们可以简单理解为MVC模式下的控制器
package com.crs.wanda; import com.opensymphony.xwork2.ActionSupport; public class indexAction extends ActionSupport { @Override public String execute() throws Exception { System.out.println("该方法为默认方法被struts2调用"); return "success"; } }
第五步:我们需要配置一个非常重要的struts.xml文件,我们还是找到前面lib包所在同级目录下的src目录下的java目录下的struts.xml文件将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> <package name="default" extends="struts-default" namespace="/wanda"> <action name="index" class="com.crs.wanda.indexAction" method="execute"> <result name="success">/haha.jsp</result> </action> </package> </struts>
这里package标记中name属性用作定义一个包名以区分其他人代码,extends属性用于继承一个父包
action标记中的name属性是用作客户端访问时的路径相当于Servlet's path
action标记中的class属性则是用作与这个action所对应的aciton类的全路径
action标记中的method属性时与action类的方法所对应不写默认为execute方法
action标记内result中的name属性为其父标记所对应方法的返回值,不写默认为success
若返回值与name属性值匹配则完成result标记内指定的路径进行跳转(本例就跳转到我们事先编写好的一个haha.jsp页面)
小结:struts在本例中主要起一个拦截的作用,防止了客户端一些不正确的访问
第二篇:集成Spring
spring-framework-4.3.1下载地址http://repo.spring.io/release/org/springframework/spring/
第一步:添加Spring所需要的jar包(选择性加入)
我们还需要加入commons-logging.jar包。用来记录程序运行时的活动的日志记录。该文件在struts2文件中app目录下的struts2-showcase.war包目录下的WEB-INF下的lib中(图中已经加入)
我们还需要加入struts2中的一个插件包struts2-spring-plugin-2.3.30.jar(经常容易忘记)
由于本例我们还需要操作mySql数据库因此还需加入数据库驱动包mysql-connector-java-5.1.39-bin.jar
第二步:配置struts2配置文件
<?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="struts2" extends="struts-default" namespace="/wanda"> <!-- 此处的class的内容要与Spring配置文件中的bean的id相同 --> <action name="login" class="loginAction" method="execute"> <result name="success">/result.jsp</result> <result name="input">/login.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 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" > <!-- Dao配置 --> <bean id="loginDao" class="com.hy.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- Service配置 --> <bean id="loginService" class="com.hy.service.impl.LoginServiceImpl"> <property name="userDao" ref="loginDao"></property> </bean> <!-- action注入service --> <bean id="loginAction" class="com.hy.action.LoginAction" scope="prototype"> <property name="loginService" ref="loginService"></property> </bean> </beans>
在这里我介绍一下这份配置文件的相关信息吧
1 头文件我们一般从官方模板中拷贝过来,需要注意一下版本号
2 bean标记就是我们需要给项目中的每一个实例配置一个bean(pojo除外),当哪一层需要调用时,spring会帮我们注入。
3 bean标记中id属性为在本文件中起一标识作用用来区分其他bean,class属性的值便是当前bean引用了哪一个类 ,scope属性的值为prototype为非单例的意思
4 bean标记中的子标记property便是当前这个类中需要注入的属性,name属性值为我们java类中的属性名,ref属性值为当前类需要引用哪一个实现类。
本例中我们可以看到dao中引用了myConnection1也就是引用了mysql的连接,如此一来便可以轻松切换mySQL和sqlServer两个数据库,而并不需要改动我们的任何逻辑代码
第三篇:集成Hibernate
第1步:我们依旧需要引入hibernate的jar包
找到hibernate解压好的文件目录,在该目录下的lib目录下有一个required目录,将该目录下的所有jar包引入到我们项目的lib目录下。
第2步:我们又要和配置文件打交道了,首先我们要配置一个在src目录下的一个实体映射文件entityname.hbm.xml。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.hy.entity.User" table="crs_channel_customer"> <id name="id"> <column name="ID_CHANNEL_CUSTOMER" /> <!-- <generator class="increment" />--> </id> <property name="name" type="java.lang.String"> <column name="NAME" /> </property> <property name="mobile" type="java.lang.String"> <column name="MOBILE" /> </property> </class> </hibernate-mapping>
解析:1>头信息就不多说了,首先写好一个hibernate-mapping首尾标记,在标记内映射我们相对应的实体类。
2>在class标记的name属性的值对应我们的实体类(全路径),table属性对应我们在数据库的表名
3>id标记为我们数据库的主键配置相关信息,同理name属性中的属性值为我们实体类对象的属性,column为数据库对应表的字段。
4>property标记中type属性为该属性对应的java数据类型,length为数据库中指定长度这里相当于varchar(50),not-null属性为指定该字段是否可以为空,默认可以为空。
第三步:在applicationContext.xml中添加下面的配置:
<!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- 指定连接数据库的驱动 --> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <!-- 指定连接数据库的URL --> <property name="url" value="jdbc:oracle:thin:@10.199.201.39:1521:orapub" /> <!-- 指定连接数据库的用户名 --> <property name="username" value="WANDACRS0323" /> <!-- 指定连接数据库的密码 --> <property name="password" value="wanda123" /> </bean> <!-- 配置SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle10gDialect </prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.connection.autocommit">true </prop> <prop key="hibernate.show_sql">true</prop> <prop key="sql_format">true</prop> </props> </property> <property name="mappingResources"> <!-- 指定hibernate映射文件 --> <list> <value>com/hy/entity/User.hbm.xml</value> </list> </property> </bean> <!-- Dao配置 --> <bean id="loginDao" class="com.hy.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
在此说明一下如果你的数据库是MySQL配置按照上面那种方式配置,别忘了添加对应的jar(有人告诉我:jar包也要与自己的数据版本对应,否则连不上)。如果你的数据库是Oracle,配置按照下面图中进行配置。