java教程(五)SSH框架-配置

前言:从这篇博客开始我将继续讲述Java教程:SSH篇,主要内容围绕SSH框架分析与搭建,今天先简单介绍一下SSH的配置。

SSH配置顺序是: spring-->hibernate-->struts

1. 建立web-project ,并添加Spring支持,添加JAR包时注意,aop  core web commons等包要加载,然后一直下一步就可以成功添加spring支持;

2. 添加hibernate支持,同样注意包的选择,

下一步中注意,选择添加到spring中(spring configuration file中)

下一步后,选择已经存在的applicationContext.xml中(existing spring configuration file中)

下一步后,添加之前配置好的数据源

下一步后,注意不要创建SessionFactory

完成hibernate支持的添加

<bean id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
   value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
  </property>
  <property name="url"
   value="jdbc:sqlserver://localhost:1433;databaseName=SSHDemo">
  </property>
  <property name="username" value="test"></property>
  <property name="password" value="123456"></property>
 </bean>
 <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.SQLServerDialect
    </prop>
   </props>
  </property>
  <property name="mappingResources">
   <list>
    <value>com/ssh/vo/Person.hbm.xml</value>
   </list>
  </property>
 </bean>

3. 生成hibernate的vo类和 .hbm.xml文件,如下:配置.hbm.xml文件后,注意检查对应的属性是否和对应的表中的字段对应上:

package com.ssh.vo;

     public class Person implements java.io.Serializable {

        // Fields

         private Integer id;
         private String name;
         private String password;

         相应属性的setter 和 getter 方法

     }

.hbm.xml

<hibernate-mapping>
    <class name="com.ssh.vo.Person" table="Person" schema="dbo" catalog="SSHDemo">
         <id name="id" type="java.lang.Integer">
               <column name="id" />
               <generator class="native" />
         </id>
         <property name="name" type="java.lang.String">
              <column name="name" length="50" />
          </property>
          <property name="password" type="java.lang.String">
               <column name="password" length="50" />
           </property>
        </class>
     </hibernate-mapping>

再创建一个dao类

 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

    import com.ssh.vo.Person;

    public class PersonDAO extends HibernateDaoSupport {
          public void insert(Person per){
                    this.getSession().save(per);
                   this.getSession().beginTransaction().commit();
          }
    }

4. 再配置applicationContext.xml文件,需要为hibernateDaoSupport配置HibernateTemplate的支持,而HibernateTemplate的支持又是靠的是sessionFactory(这个是配置第2步骤中自动生成好的):

<span style="font-size:18px;"><bean id="hibernateTemplate"
  class="org.springframework.orm.hibernate3.HibernateTemplate">
  <property name="sessionFactory">
   <ref bean="sessionFactory"/>
  </property>
 </bean></span>

这样我们就将Spring与hibernate整合好了。

5. 再将Spring配置好的hibernateTemplate注入到之前定义好的PersonDAOImpl中:

<span style="font-size:18px;">     <bean id="personDao" class="com.ssh.dao.PersonDAOImpl">
           <property name="hibernateTemplate">   //这个属性在PersonDAOImpl中有的
                  <ref bean="hibernateTemplate"/>
           </property>
      </bean></span>

以上的配置就可以很好的正好Spring与hibernate,但是大家还需要测试一下是否成功,测试代码如下:

<span style="font-size:18px;">public class test {
 public static void main(String[] args) {
  ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
  PersonDAOImpl pdi = (PersonDAOImpl)app.getBean("personDao");
  Person p = new Person();
  p.setName("jack");
  p.setPassword("123456");

  pdi.insert(p);
 }
}</span>

测试的过程中可能会出错,错误多半都是由于你的Jar包版本低或是重复导入等原因导致,所以认真检查

6. 添加struts的配置:首先添加sturts支持,生成web.xml文件。需配置web.xml文件,配置如下:

<span style="font-size:18px;"><context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
  </context-param>

  <servlet>
   <servlet-name>context</servlet-name>
   <servlet-class>
    org.springframework.web.context.ContextLoaderServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet></span>

7. 添加struts的form bean  和 action bean   (form bean 正常写就可以),action bean 中配置如下:

 public class PersonAction extends DispatchAction {

             private PersonDAOImpl personDaoImpl;

             public PersonDAOImpl getPersonDaoImpl() {
                           return personDaoImpl;
              }
              public void setPersonDaoImpl(PersonDAOImpl personDaoImpl) {
                           this.personDaoImpl = personDaoImpl;
              }
              public ActionForward insert(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request, HttpServletResponse response) {
                       PersonForm personForm = (PersonForm) form;// TODO Auto-generated method stub
                       Person per = new Person() ;
                       per.setName(personForm.getName()) ;
                       per.setPassword(personForm.getPassword()) ;
                       personDaoImpl.insert(per) ;
                       return null;
              }
       }

8.  配置Struts-config.xml文件:添加 struts 的 plug-in

 <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
               <set-property property="contextConfigLocation"
                          value="/WEB-INF/classes/applicationContext.xml" />
          </plug-in> 

再添加:

        <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
        </controller>

以上两个配置就是为了完成Spring与struts的集成

9. 最后再配置applicationContext.xml文件,让Spring注入到action bean 中 :

                <bean name="/person"  //此处不再是id,而是name 后面的值是 struts-config.xml中 <action-mapping>中<action>的path 的值
                 class="com.ssh.struts.action.PersonAction">
                <property name="personDaoImpl">
                         <ref bean="personDao"/>
               </property>
         </bean>

10.添加测试页面,进行测试。

OK,测试成功,配置完成了!

时间: 2024-10-25 17:20:40

java教程(五)SSH框架-配置的相关文章

学java教程之集合框架

学编程吧学编程学IT教程之java教程集合框架发布了,欢迎通过xuebiancheng8.com来访问 java中的集合框架故名思议就是针对集合的框架.那什么是集合呢,前面已经学习过数组,没错,数组就是一组数据的集合,换句话说数组也是一种特殊的集合框架,可以完成集合的功能.那数组在使用的时候有没有不方便的地方呢,比方说数组有可能有满的时候,满了怎么办,我们是不是得自己写程序来更改数组的大小呢,而且还要把原来的数组赋值到新的数组的原来位置上,这样很明显数组用起来不是特别方便,很多功能得让我们自己去

Spring(五) SSH框架整合

前言:首先恭喜自己又啃掉一本书了.今天天气这么好,不写博客就可惜了,哈哈.写完这篇博客后SSH框架就已经学完了,准备休息休息几天,然后做个CRM小项目,加油!-----------jgp 1 准备环境整合 所谓整合就是将不同的框架放在一个项目中,共同使用它们的技术,使它们发挥各自的优点,并形成互补. 1.1 准备数据库环境 创建名称为ssh的数据库,然后在该数据库中创建一个t_user表,t_user表中有id.username.password三个字段 CREATE DATABASE ssh;

基于java代码的Spring-mvc框架配置

 Spring 版本 4.3.2   maven项目 1.首先上项目目录图,主要用到的配置文件,略去css和js的文件 引包: 2.主要代码: (1)NetpageWebAppInitializer类 package config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; /** *@author 作者 Yu chenchen *@ve

SSH框架配置释义

? 创建一个bean, 依赖注入支持的不同注入方式及具体配置方法 属性注入 通过setter()方法注入bean的属性或者依赖对象.属性注入要求bean需要提供一个默认构造函数和对应的setter方法.spring先通过调用默认构造函数数理化bean对象,然后通过反射方式调用setter方法注入属性值 需要清楚的是spring只会检查bean中是否有对应的setter方法,但是不会去要求是否有对应的属性变量.所以对应的bean中不一定要有同名的属性或者存在不同名的属性.但是一般情况下我们还是需要

java毕设--基于ssh框架开发的个人博客系统

联系qq:2835777178   有兴趣者可以联系我,也可先查看项目运行视频再决定 项目部分功能界面 一.博客主页面 二.关于我 三.个人日记 四.用户登录界面 五.登录后主界面 六.个人资料管理界面 在这里其他界面就不粘贴啦,如有需要联系上面的qq

MVC+Spring.NET+NHibernate .NET SSH框架整合

在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MVC框架以后太灵活了(相比之前的web Form),嗯,关于.NET中的MVC框架我就不多说了,推荐这位大神的<MVC知多少系列>http://www.cnblogs.com/sheng-jie/p/6291915.html.下面进入正题,.NET中也有SSH框架,他们分别指MVC+Spring.NET和NHibernate. 其中Spring.NET是典型的IOC框架,类似的还

ssh框架中文保存数据库MySQL乱码

检查后台获取前端页面数据打印到console控制台无乱码:tomcat配置没有问题: 检查MySQL数据库编码设置:字符集:utf8 -- UTF-8 Unicode,排序规则:utf8_general_ci无误,数据库可以保存中文. 两方面无误后保存乱码:在ssh框架配置数据库连接参数后追加 "? useUnicode=true&characterEncoding=UTF-8" 如下: jdbc.url=jdbc:mysql://localhost:3306/ssh? use

SSH框架搭建 详细图文教程

转载请标明原文地址 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架. SSH主要用于Java Web的开发.现在SSH有SSH1和SSH2两种,区别在于Struts的版本是struts1.x还是2.x.本文介绍的是SSH1. 二.Struts Spring Hibernate各起什么作用? Struts:控制逻辑关系. Spring:解耦. Hibernate:操作数据库. 三.学习SS

基于Java Web SSH框架的网上书店

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着互联网技术的发展,网上购物越来越流行,而网上书店更是逐渐受到越来越多的人关注,不用涉及交通.不用到书店翻阅.即可看到全国各地的书籍价格.更加全面地搜索自己喜欢的书籍.需要的书籍.通过网络销售系统的平台,商家将拥有更大的市场,能更加及时快速地得到用户对于商品的反响,可以随时调整销售策略,提高商家的市场竞争力.对于消费者也提供了方便,消费者可以不受时间和地域的限制进行购物,并且可以获取更多信息.. 本文阐述了如何构建基于B/