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的连接,如此一来便可以轻松切换mySQLsqlServer两个数据库,而并不需要改动我们的任何逻辑代码

 

第三篇:集成Hibernate

1:我们依旧需要引入hibernatejar

找到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,配置按照下面图中进行配置。

 

 

 

 

 

 

posted @ 2017-05-26 10:26  十月围城小童鞋  阅读(137)  评论(0编辑  收藏  举报