JavaWeb常用配置(c3p0、struts、hibernate)

C3P0是一个数据连接池,在SSH框架中也可以见到他们的身影!!!!

C3P0项目地址 (此网站访问有问题,请翻墙): http://www.mchange.com/projects/c3p0/

也可以使用国内我们下载好的包,这里推荐一个jar包大全的地址:  jar包集中地 , 进入搜索即可

C3P0数据库连接池使用前提:

1、拷贝导入jar包:c3p0-0.9.1.2.jar  c3p0-Oracle-thin-extras-0.9.1.2.jar(oracle需要)

2、书写配制文件放在src目录下:c3p0-config.xml(名字唯一不可变)

c3p0 xml配置文件模版

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
   <!-- 我们只说明一下默认模板,其他配置只是多了 数据[地址、账号、密码、驱动] 等信息 -->
   <!-- 默认模板! -->
   <default-config>
      <!-- 创建的初始化连接数量 -->
      <property name="initialPoolSize">10</property>
      <!-- 最大的空闲时间 -->
      <property name="maxIdleTime">30</property>
      <!-- 最大的连接数 -->
      <property name="maxPoolSize">100</property>
      <!-- 最小连接数 -->
      <property name="minPoolSize">10</property>
      <!-- 最多的Statement数量 -->
      <property name="maxStatements">200</property>
   </default-config>

   <!-- mysql配置模板 -->
   <named-config name="mysql">
      <property name="driverClass">com.mysql.jdbc.Driver</property>
      <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
      <property name="user">root</property>
      <property name="password"></property>
      <property name="initialPoolSize">10</property>
      <property name="maxIdleTime">30</property>
      <property name="maxPoolSize">100</property>
      <property name="minPoolSize">10</property>
      <property name="maxStatements">200</property>
   </named-config>

   <!-- oracle配置模板 -->
   <named-config name="oracle">
      <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
      <property name="jdbcUrl">jdbc:oracle:thin:@localhost:1521:orcl</property>
      <property name="user">scott</property>
      <property name="password">liang</property>
      <property name="initialPoolSize">10</property>
      <property name="maxIdleTime">30</property>
      <property name="maxPoolSize">100</property>
      <property name="minPoolSize">10</property>
      <property name="maxStatements">200</property>
   </named-config>
</c3p0-config>

自己声明一个c3p0-config.xml (c3p0配置文件)复制到src里,就可以使用c3p0连接池了

c3p0 使用方式

import com.mchange.v2.c3p0.*;
	
...
	
//也可以使用 DataSource cpds 这是一个定义好的数据源父类
//三个构造方法,如果不传入字符串,将使用默认配置
ComboPooledDataSource cpds = new ComboPooledDataSource("mysql");
Connection conn = cpds.getConnection ; //我们就可以使用这个Connection对象了

struts 使用集成工具自动配置非常方便,但是我们也列举一下手动配置方法

struts 官网:  struts.apache.org

由于现在更新到了2.0,官网不推荐使用1.x,但是也给出了下载地址 : http://archive.apache.org/dist/struts/

两个版本有不同的配置方式

struts1使用前提:

1、下载并导包,第三方jar包都一样 , 可以只要最小的lib

2、写入struts-conf.xml

struts-conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD 声明,如果不清楚,可以下载演示文档或复制此段 -->
<!DOCTYPE struts-config PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
 "http://struts.apache.org/dtds/struts-config_1_2.dtd">
   <struts-config>
      <!-- form-beans 这是一个Actionform关联操作,以便于struts生成对象  -->
      <form-beans>
         <form-bean name="uesrForm" type="com.test.UserForm"></form-bean>
      </form-beans>
     <!-- 映射action地址 -->
     <action-mappings>
         <action path="/login" name="uesrForm" type="com.test.TT">
           <forward name="ok" path="/ok.jsp"></forward>
           <forward name="err" path="/err.jsp"></forward>
         </action>
     </action-mappings>
</struts-config>

其中path中的   [  / ]  是不能少的!!!需要注意,这里类是使用type标记的

3、配置web.xml

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" 
 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">
    <!-- 一个servlet配置 -->
    <servlet>
       <servlet-name>action</servlet-name>
       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
       <!-- 初始化的config配置文件 -->
       <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
       </init-param>
    </servlet>
 
    <!-- servlet映射的路径,如果使用/*.do会使tomcat无法启动 -->
    <servlet-mapping>
       <servlet-name>action</servlet-name>
       <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

当配置好后,就可以继承Action 和 ActionForm实现自己的业务流程

struts2使用前提:

1、下载并导包,第三方jar包都一样 , 可以只要最小的lib

2、写入struts.xml文件,放在src目录下

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
 "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
     <!-- 这里可以起一个包名,包名实际没有意义,只是作区分
       extends表明该package具有action行为,namespace是该包的访问路径根
     -->
     <package name="demo" extends="struts-default" namespace="/">
     <!-- name对应着地址请求 class代表类名 method代表方法 result代表返回结果 -->
     <!-- namespace + name 代表着访问路径 -->
       <action name="login" class="com.cwj95.test.W1" method="login" >
         <!-- name代表action的返回值,内容为对应跳转的页面  
             其中type值默认为转发      --> 
         <result name="YES">su.jsp</result>
         <result name="NO">login.jsp</result>
       </action>
     </package>
</struts>

3、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
      <!-- 注意struts2是使用的filter -->
      <!-- 配置filter -->
      <filter>
         <filter-name>action2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <filter-mapping>
         <filter-name>action2</filter-name>
         <url-pattern>*</url-pattern>
      </filter-mapping>
 </web-app>

hibernate使用前提:

1、下载并导包,需要特别注意,需要依赖数据库驱动包

2、写入hibernate.cfg.xml文件(官网推荐此名,可更改),放在src目录下

<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<property name=" hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///av?characterEncoding=gbk</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>

<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.format_sql">true</property>
<mapping resource="com/cwj95/hibernate/User.hbm.xml"/>
<mapping resource="com/cwj95/hibernate/Model.hbm.xml"/>
</session-factory>
</hibernate-configuration>

3、写入xxx.hbm.xml文件,与java同名类一处

<?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">

<hibernate-mapping package="com.cwj95.hibernate">

<class name="Model" table="model">
<id name="id" >
<generator class="native"/>
</id>
<property name="age"></property>
<property name="name"></property>
<many-to-one name="user" class="User" column="key1"></many-to-one>
</class>

</hibernate-mapping>

发表评论

发表评论

*

沙发空缺中,还不快抢~