SSH整合樣本

來源:互聯網
上載者:User

1.匯入struts,spring,hibernate所需的相應包檔案

2.web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>SSH</display-name>  <!--Struts所需的配置 -->  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>   <filter>    <filter-name>struts-cleanup</filter-name>    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>  </filter>  <filter-mapping>    <filter-name>struts-cleanup</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>    <!--Struts整合Spring所需的配置 -->  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <listener>    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  </listener></web-app>

3.在src中建立struts.xml設定檔

<?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><!-- struts2委託spring管理 --><constant name="struts.objectFactory" value="spring" /><!-- struts2的包配置 --><package name="demo_action" extends="struts-default"><action name="userDetail" class="userDetailBean" method="get"><result >/userDetail.jsp</result></action></package></struts>

4.在WEB-INF中添加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 ">    <!--採用單例形式配置Hibernate的SessionFactory,以classpath形式調用hibernate的設定檔 --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property></bean><!-- 採用單例形式配置Hibernate的transactionManager --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"><ref bean="sessionFactory" /></property></bean><!-- userDao的實現者 --><bean id="userDao" class="dao.hibernate.UserDaoHibernate"><property name="sessionFactory"><ref bean="sessionFactory" /></property></bean><!-- Id與struts.xml配置的class相同,此處的Class為真實的Class --><bean id="userDetailBean" class="action.UserAction" scope="prototype"><property name="userDao"><ref bean="userDao" /></property></bean></beans>

5.userDao類

package dao;import java.util.List;import entites.Userinfo;public interface UserDao {public abstract Userinfo get(int userId);}

6.userDao介面實現者

package dao.hibernate;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import dao.UserDao;import entites.Userinfo;public class UserDaoHibernate extends HibernateDaoSupport implements UserDao {@Overridepublic Userinfo get(int userId) {return (Userinfo) getHibernateTemplate().get(Userinfo.class, userId);}}

7.Struts的Action類UserAction

package action;import java.util.Date;import java.util.List;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import dao.UserDao;import entites.Userinfo;public class UserAction extends ActionSupport {private UserDao userDao;public void setUserDao(UserDao dao) {userDao = dao;}public String get(){Userinfo userinfo=userDao.get(40);setUserInfo(userinfo);return super.SUCCESS;}}

8.視圖檔案userDetail.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><style type="text/css">table {border: 1px solid black;border-collapse: collapse;}table tbody tr td {border: 1px solid black;padding: 3px;}</style></head><body>UserDetail<table><tr><td>UserName:</td><td>${requestScope.UserInfo.userName}</td></tr><tr><td>PassWord:</td><td>${requestScope.UserInfo.password}</td></tr></table></body></html>

9.hibernate.cfg.xml檔案

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration>    <session-factory>        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="hibernate.connection.password">111</property>        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/javadb</property>        <property name="hibernate.connection.username">root</property>        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>        <mapping resource="entites/Userinfo.hbm.xml" />    </session-factory></hibernate-configuration>

10.Userinfo.hbm.xml檔案

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2011-1-7 15:19:38 by Hibernate Tools 3.2.4.GA --><hibernate-mapping>    <class name="entites.Userinfo" table="userinfo" catalog="javadb">        <id name="userId" type="java.lang.Integer">            <column name="UserId" />            <generator class="identity" />        </id>        <property name="userName" type="string">            <column name="UserName" length="30" />        </property>        <property name="password" type="string">            <column name="Password" length="100" />        </property>        <property name="height" type="java.lang.Integer">            <column name="Height" />        </property>        <property name="birth" type="date">            <column name="Birth" length="10" />        </property>        <property name="ip" type="string">            <column name="Ip" length="20">                <comment>last ip address</comment>            </column>        </property>    </class></hibernate-mapping>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.