(excerpt notes) Java Learning Notes SSH integrated construction project

Source: Internet
Author: User
Tags domian

1: Of course, the Guide jar bag;

STRUTS2:

Spring

Hibernate:

As for what these jar packs are, I guess I don't have to explain, everyone knows, SSH2 basic jar package;

There are other jar packages: Struts2-spring-plugin-2.1.8.1.jar (jar package used by struts2-spring integration), C3p0-0.9.2-pre1.jar (using linked pool link database)

2: Add Struts.xml file

<?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>    <!--Overwrite Convention-    <package Name= "Users" namespace= "/lishun" extends= "Struts-default" >    <!--Here the action is called Spring Management, So the class property value here is the ID name of the injected action, followed by the action class that mentions--        <action name= "users" class= "Usersaction" method= " Execute ">            <result name=" Success ">/index.jsp</result>        </action>    </package ></struts>

Configure Web. xml

<?xml version= "1.0" encoding= "UTF-8"? ><web-app version= "3.0" xmlns= "Http://java.sun.com/xml/ns/javaee" Xmlns:xsi= "Http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation= "Http://java.sun.com/xml/ns/javaee http ://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "> <display-name></display-name> < Welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- The core listener of the struts-<filter> <filter-name>action2</filter-name> <filter-class>or G.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter</filter-class> </filter> <    Filter-mapping> <filter-name>action2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--to integrate struts with spring;; Be sure not to forget the Guide Struts2-spring-plugin-2.1.8.1.jar pack--<listener> &LT;LISTENER-CLASS&GT;ORG.SPRINGFramework.web.context.contextloaderlistener</listener-class> </listener> <context-param> &lt ;p aram-name>contextconfiglocation</param-name> <param-value>classpath:application.xml</ Param-value> </context-param></web-app>


Configure Hibernate.cfg.xml


"Http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd" >


Configure Application.xml

<beans xmlns= "Http://www.springframework.org/schema/beans" xmlns:xsi= "http://www.w3.org/2001/ Xmlschema-instance "xmlns:aop=" HTTP://WWW.SPRINGFRAMEWORK.ORG/SCHEMA/AOP "xmlns:tx="/HTTP/ Www.springframework.org/schema/tx "xmlns:jdbc=" Http://www.springframework.org/schema/jdbc "xmlns:context=" http:/ /www.springframework.org/schema/context "xmlns:util=" Http://www.springframework.org/schema/util "xsi: schemalocation= "Http://www.springframework.org/schema/context http://www.springframework.org/schema/context/ Spring-context-3.0.xsd Http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/ Spring-beans-3.0.xsd Http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/ Spring-jdbc-3.0.xsd Http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/ Spring-tx-3.0.xsd HTTP://WWW.SPRINGFRAMEWORK.ORG/SCHEMA/AOP http://www.springframework.org/schema/aop/ Spring-aop-3.0.xsd Http://www.springframEwork.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd "> <!-- Automatically scans all the beans under the Com.lishun package, and then injects these beans through annotations--<context:component-scan base-package= "Com.lishun" ></ Context:component-scan> <!--load Properties file to read the database link string--<context:property-placeholder location= "Claspath :D atabaseconnection.properties "/> <bean name=" sessionfactory "class=" Org.springframework.orm.hibernate3.LocalSessionFactoryBean "> <!--Hibernate to spring Management--<property Nam                        E= "Configlocation" value= "Classpath:hibernate.cfg.xml" ></property> <property name= "DataSource" > <bean class= "Com.mchange.v2.c3p0.ComboPooledDataSource" > <!--front four items are four strings of database links,                Here is the database link string read through the properties file--<property name= "Jdbcurl" value= "${jdbcurl}" ></property> <property name= "user" value= "${user}" ></property> <propeRty name= "Password" value= "${password}" ></property> <property name= "Driverclass" value= "${drive Rclass} ></property> <!--other Configurations-<!--get three connections when initializing, values should be in Minpoolsize and Maxpools Between the ize. Default:3--<property name= "Initialpoolsize" value= "3" ></property> <!-- The minimum number of connections that are kept in the connection pool. Default:3---<property name= "Minpoolsize" value= "3" ></property> <!--connection pool The maximum number of connections that are retained. Default:15--<property name= "Maxpoolsize" value= "5" ></property> <!--when connected When the connection in the pool runs out, c3p0 the number of connections that are fetched at one time. Default:3--<property name= "Acquireincrement" value= "3" ></property> <!- -Controls the number of preparedstatements loaded within the data source. If both maxstatements and maxstatementsperconnection are 0, the cache is closed. default:0--<property name= "maxstatements" value= "8" ></property> <!--ma XstatemeNtsperconnection defines the maximum number of cache statements that a single connection in a connection pool has.                default:0--<property name= "Maxstatementsperconnection" value= "5" ></property> <!--maximum idle time, unused in 1800 seconds, the connection is discarded. If 0, it will never be discarded. default:0--<property name= "MaxIdleTime" value= "1800" ></property> </bean&gt        ; </property> </bean> <!--Configure Sessionfactory transactions based on annotations--<bean name= "Txmanager" class= "Org.s Pringframework.orm.hibernate3.HibernateTransactionManager "> <property name=" sessionfactory "ref=" Sessionfactory "></property> </bean> <tx:annotation-driven transaction-manager=" Txmanager "/>& Lt;/beans>

Databaseconnection.properties Properties File

3: Test

This is my directory structure, is a layer of calls to a layer

Controller action:

@Controller ("usersaction")//Controller annotation, and the definition of change Bean ID is usersaction, @Scope ("prototype")// The declared bean is scoped to prototype: Each fetch of the bean from the container is a new object. public class Usersaction extends Actionsupport {        @Resource    private iuserservice servise;    Public String Execute () {        Servise.sava ();        Return "Success";    }}

Business Layer Seivice:

@Service//service Layer Annotation public class Userservicebean implements Iuserservice {    //Add value to attribute    @Resource public    Iuserdao Userdao;    @Override    @Transactional//This method automatically opens the transaction and commits the transaction, and rolls back the transaction public    void Sava () {        Userdao.sava () when there is an exception;}    }

Data Manipulation Layer DAO:

public class Userdaobean implements Iuserdao {    //inject Sessionfactory value from configuration file    @Resource    Private Sessionfactory seesionfactory;    @Override public    void Sava () {        Session session = Seesionfactory.getcurrentsession ();        SYSTEM.OUT.PRINTLN (session);        Users u=new users ();        U.setuname ("Wang Nima");        Session.save (u);    }}

Most have a javabean entity, this entity is simple only the ID and name two fields, the test did not get a lot of fields up

public class Users {    private Integer uid;    Private String uname;    Public Integer Getuid () {        return uid;    }    public void SetUid (Integer uid) {        this.uid = uid;    }    Public String Getuname () {        return uname;    }    public void Setuname (String uname) {        this.uname = uname;    }    @Override public    String toString () {        return "Users [uid=" + uid + ", uname=" + uname + "]";    }}

corresponding mapping file

<?xml version= "1.0"? ><! DOCTYPE hibernate-mapping Public "-//hibernate/hibernate mapping DTD 3.0//en" "http://www.hibernate.org/dtd/ Hibernate-mapping-3.0.dtd ">
Article excerpt from: http://www.cnblogs.com/lishun1005/p/4412252.html

(excerpt notes) Java Learning Notes SSH integrated construction project

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.