<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    JSP + Jndi + Spring + Hibernate 心得筆記

    這幾天小試了一下JSP +Jndi + Spring + Hibernate組合的功能,想讓JSP網頁可以秀出Database裡的資料。試了老半天,發現要讓這組合成功運作,還真的是很麻煩,很多細節要注意。而且很多設定找不到文件,很讓人...DeadDeadDead


    以下是這個組合成功運作所需注意的地方。


    1.系統建置環境如下
    AP Server : Tomcat 5.5.x
    Database : Oracle 10g
    Framework : Spring 1.2.x + Hibernate 3.x


    2.相關重要修改設定如下
    2.1 首先,我要利用Tomcat的DBCP Connection pool功能,所以必需先改Tomcat裡面的Server.xml設定檔,加入下面藍字所示的相關設定

    <Host>
    ??
    ??中略
    ??
    ??
    <Context?中略>
    ????
    ????
    <!--?Tomcat5.5的DBCP設定方式寫法與之前版本完全不同?-->
    ????
    <Resource?
    ??????
    name="jdbc/scott"
    ??????auth
    ="Container"
    ??????factory
    ="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"?????????????
    ??????type
    ="javax.sql.DataSource"
    ??????driverClassName
    ="oracle.jdbc.driver.OracleDriver"????????????
    ??????url
    ="jdbc:oracle:thin:@localhost:1521:orcl"??????????????
    ??????username
    ="scott"????????????
    ??????password
    ="tiger"
    ??????maxIdle
    ="10"
    ??????maxWait
    ="1000"??????????????
    ??????maxActive
    ="100"/>????
    ??????
    ??
    </Context>
    </Host>


    2.2 接下來修改web.xml設定檔藍字所示內容

    <?xml?version="1.0"?encoding="UTF-8"?>
    <web-app?id="WebApp_ID"?version="2.4"
    ??xmlns
    ="http://java.sun.com/xml/ns/j2ee"
    ??xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
    ??xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    ?
    ??
    <!--?指定log4j設定檔位置?-->
    ??
    <context-param>
    ????
    <param-name>log4jConfigLocation</param-name>
    ????
    <param-value>/WEB-INF/log4j.properties</param-value>
    ??
    </context-param>
    ??????
    ??
    <!--?指定spring設定檔位置?-->
    ??
    <context-param>
    ????
    <param-name>contextConfigLocation</param-name>
    ????
    <param-value>/WEB-INF/beans-config.xml</param-value>
    ??
    </context-param>?
    ??
    ??
    <!--?一定要在ContextLoaderListener設定之前加上Log4jConfigListener設定,如此一來ContextLoaderListener才可以正常運作?-->
    ??
    <listener>
    ????
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    ??
    </listener>
    ?
    ??
    <listener>
    ????
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    ??
    </listener>??
    ?
    ??
    <!--?指定此項Filter可使Spring取回的DomainObject在JSP(View層)作完所有的事情後,才將Hiberante?Session給Close?-->
    ??
    <filter>
    ??????
    <filter-name>hibernateFilter</filter-name>
    ??????
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    ??
    </filter>?
    ??
    ??
    <filter-mapping>
    ??????
    <filter-name>hibernateFilter</filter-name>
    ???????
    <url-pattern>/*</url-pattern>
    ??
    </filter-mapping>
    ??
    ??
    <!--?指定JNDI?JDBC?DataSource?-->
    ??
    <resource-ref>
    ????
    <description>JNDI?JDBC?DataSource</description>
    ????
    <res-ref-name>jdbc/scott</res-ref-name>
    ????
    <res-type>javax.sql.DataSource</res-type>
    ????
    <res-auth>Container</res-auth>
    ??
    </resource-ref>
    ??
    ??中略

    </web-app>


    2.3 在/WEB-INF目錄裡面,增加beans-config.xml這個Srping設定檔,修改藍字所示內容


    <?xml?version="1.0"?encoding="UTF-8"?>?
    <!DOCTYPE?beans?PUBLIC?"-//SPRING/DTD?BEAN/EN"?
    ?"http://www.springframework.org/dtd/spring-beans.dtd"
    >?
    <beans>?
    ????中略
    ?????
    ????
    <!--?利用JNDI的方式連結到DataSource?-->
    ????
    <bean?id="dataSource"?class="org.springframework.jndi.JndiObjectFactoryBean">?
    ????????
    <property?name="jndiName">??
    ????????????
    <!--?不可省略"java:comp/env/"字串,否則會出現異常?-->
    ????????????
    <value>java:comp/env/jdbc/scott</value>?
    ????????
    </property>??
    ????
    </bean>?????????
    ????
    ????中略
    </beans>


    2.4 在/WEB-INF目錄裡面,增加log4j.properties這個log4j設定檔

    #這是我用的設定檔,請自行修改成以符合實務上需求
    log4j.rootLogger=info,consoleAppender
    log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
    log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.consoleAppender.layout.ConversionPattern=%d?[%t]?%-5p?%c?-?%m%n


    3.大功告成...寫個測試的JSP網頁試試看吧...Big SmileBig SmileBig Smile...以下是我測試用的JSP,請自行修改以符合實務上需求

    <%@?page?language="java"?contentType="text/html;?charset=utf-8"??pageEncoding="utf-8"%>
    <%@?page?import="org.springframework.web.context.WebApplicationContext"%>
    <%@?page?import="org.springframework.web.context.support.WebApplicationContextUtils"%>
    <%@?page?import="com.db.table.Emp"%>
    <%@?page?import="com.db.dao.IEmpDAO;"%>
    ?
    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
    <html>
    <head>
    <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
    <title>Spring?Test</title>
    </head>
    <body>
    <%
    ??WebApplicationContext?context?
    =?WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());??
    ??IEmpDAO?empDAO?
    =?(IEmpDAO)context.getBean("empDAOImpl");
    ??Emp?emp?
    =?empDAO.find(new?Short((short)7369));
    ??out.println(
    "Ename:?"?+?emp.getEname()?+?"<br>");
    ??out.println(
    "Dname:?"?+?emp.getDept().getDname()?+?"<br>");
    %>
    </body>
    </html>

    posted on 2006-12-20 14:53 paulwong 閱讀(1684) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 皇色在线视频免费网站| 国产亚洲精品自在线观看| 羞羞视频免费观看| 精品国产_亚洲人成在线高清| 最近中文字幕高清免费中文字幕mv| 亚洲国产精品张柏芝在线观看| 国产做床爱无遮挡免费视频| 男人进去女人爽免费视频国产 | 狠狠色伊人亚洲综合成人| 亚洲视频免费在线播放| 特级毛片全部免费播放a一级| 亚洲国产成人久久综合碰碰动漫3d| 毛片a级毛片免费播放100| 国产精品亚洲精品| 国产偷国产偷亚洲清高动态图| 免费看美女裸露无档网站| av午夜福利一片免费看久久| tom影院亚洲国产一区二区| 国产成人高清亚洲| 无码日韩精品一区二区免费| 中文字幕免费播放| 春暖花开亚洲性无区一区二区| 亚洲尹人九九大色香蕉网站| 免费人成网站在线播放| 99视频全部免费精品全部四虎| 精品无码一级毛片免费视频观看 | 亚洲国产熟亚洲女视频| 久久国产亚洲精品麻豆| 免费欧洲毛片A级视频无风险| 亚洲成人免费电影| 国产无遮挡裸体免费视频在线观看| 人人狠狠综合久久亚洲| 亚洲三级在线播放| 亚洲精品高清国产麻豆专区| 精品国产综合成人亚洲区| 亚洲七七久久精品中文国产| 精品国产免费观看一区| 全免费毛片在线播放| 久久国产乱子伦精品免费看| igao激情在线视频免费| 国产成人亚洲精品无码AV大片 |