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

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

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

    配置Jetty的JNDI綁定

    Posted on 2008-04-27 13:13 wind_miao 閱讀(2225) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): J2EE

    配置 JNDI綁定

    一、 此處綁定的數(shù)據(jù)源是以 DBCP 為實(shí)現(xiàn)。首先必須將數(shù)據(jù)庫(kù)驅(qū)動(dòng)(這里用了MYSQL數(shù)據(jù)庫(kù))和DBCP所需要的 Jar 包復(fù)制到 Jetty 根目錄的 lib 目錄下。DBCP主要需要以下3個(gè)文件:
    Commons-dbcp.jar
    Commons-pool.jar
    Commons-collections.jar
    二、 在Jetty根目錄的contexts下建立wind.xml(該文件名為了增加可讀性最好與項(xiàng)目名相同)
    wind.xml的內(nèi)容如下:
    --------------------------------------------------------------------------------------------------------------------------
    <?xml version="1.0"  encoding="GB2312"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    <!-- 配置一個(gè)WEB應(yīng)用 -->
    <Configure class="org.mortbay.jetty.webapp.WebAppContext">
      <Set name="contextPath">/wind</Set>
      <Set name="resourceBase">E:/StartPortableApps/jspTest</Set>

    <!-- 配置第一個(gè)環(huán)境變量 -->
    <New id="woggle" class="org.mortbay.jetty.plus.naming.EnvEntry">
      <Arg>woggle</Arg>
      <Arg type="java.lang.Integer">4000</Arg>
    </New>

    <!-- 配置第二個(gè)環(huán)境變量 -->
    <New id="wiggle" class="org.mortbay.jetty.plus.naming.EnvEntry">
      <Arg>wiggle</Arg>
      <Arg type="boolean">true</Arg>
    </New>

    <!-- 創(chuàng)建數(shù)據(jù)源 -->
    <New id="ds" class="org.apache.commons.dbcp.BasicDataSource">
      <Set name="driverClassName">com.mysql.jdbc.Driver</Set>
      <Set name="url">jdbc:mysql://localhost:3306/test</Set>
      <Set name="username">root</Set>
      <Set name="password">wind</Set>
      <Set name="maxActive" type="int">100</Set>
      <Set name="maxIdle" type="int">30</Set>
      <Set name="maxWait" type="int">1000</Set>
      <Set name="defaultAutoCommit" type="boolean">true</Set>
      <Set name="removeAbandoned" type="boolean">true</Set>
      <Set name="removeAbandonedTimeout" type="int">60</Set>
      <Set name="logAbandoned" type="boolean">true</Set>
    </New>

    <!-- 將實(shí)際的數(shù)據(jù)源綁定到 jdbc/mydatasource 這個(gè) JNDI 名 -->
    <New id="mydatasource" class="org.mortbay.jetty.plus.naming.Resource">
      <Arg>jdbc/mydatasource</Arg>
      <Arg><Ref id="ds"/></Arg>
    </New>
    </Configure>
    --------------------------------------------------------------------------------------------------------------------------
    三、 下面是測(cè)試該JNDI的jsp和servlet。
    (1)在E:/StartPortableApps/jspTest(wind.xml設(shè)置的虛擬目錄的絕對(duì)路徑)下創(chuàng)建:index.jsp
    <%@ page language="java" pageEncoding="GB2312"%>
    <%
     String path = request.getContextPath();
     String basePath = request.getScheme() + "://"
       + request.getServerName() + ":" + request.getServerPort()
       + path + "/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
     <head>
      <base href="<%=basePath%>">

      <title>My JSP 'index.jsp' starting page</title>

      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="expires" content="0">
      <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
      <meta http-equiv="description" content="This is my page">
      <!--
     <link rel="stylesheet" type="text/css" href="styles.css">
     -->

     </head>

     <body>
      <form method="post" action="aa" name="f1"><p>&nbsp;<input type="submit" value="test" name="button1"></p></form>
     </body>
    </html>
    (2)TestServlet.java內(nèi)容如下:
    package lee;

    import java.io.IOException;
    import java.io.PrintStream;
    import java.sql.*;
    import javax.naming.InitialContext;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.*;
    import javax.sql.DataSource;

    public class TestServlet extends HttpServlet
    {
        InitialContext ic;

        public TestServlet()
        {
        }

        public void destroy()
        {
            super.destroy();
        }

        protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
        {
            PrintStream out = new PrintStream(response.getOutputStream());
            try
            {
                out.println(ic.lookup("wiggle"));
                out.println(ic.lookup("woggle"));
                DataSource ds = (DataSource)ic.lookup("jdbc/mydatasource");
                Connection conn = ds.getConnection();
                Statement stmt = conn.createStatement();
                for(ResultSet rs = stmt.executeQuery("select * from echo_message"); rs.next(); out.println(rs.getString(2)));
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }

        public void init(ServletConfig config)
            throws ServletException
        {
            super.init(config);
            try
            {
                ic = new InitialContext();
            }
            catch(Exception e)
            {
                throw new ServletException(e);
            }
        }
    }
    (3)web.xml內(nèi)容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 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">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>lee.TestServlet</servlet-class>
      </servlet>

      <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/aa</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    Feedback

    # re: 配置Jetty的JNDI綁定[未登錄](méi)  回復(fù)  更多評(píng)論   

    2010-04-27 16:34 by xx
    兄弟,太感謝了,謝謝

    # re: 配置Jetty的JNDI綁定  回復(fù)  更多評(píng)論   

    2014-06-24 10:26 by ARC-蜜蜂詞
    非常感謝了,我配了好幾天的jetty連接池,就沒(méi)有去綁定的問(wèn)題,以后多交流下

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    posts - 1, comments - 3, trackbacks - 0, articles - 7

    Copyright © wind_miao

    主站蜘蛛池模板: 亚洲日本va中文字幕久久| 亚洲性无码一区二区三区| 亚洲Aⅴ无码专区在线观看q| 亚洲av永久无码精品天堂久久| 美女免费视频一区二区| 亚洲免费视频观看| 久久精品国产亚洲精品| 亚洲中文字幕无码久久| 91在线视频免费看| 久久亚洲AV成人无码国产| 又粗又长又爽又长黄免费视频| 亚洲一区二区三区免费视频| 亚洲欧洲精品在线| 男的把j放进女人下面视频免费| 国产免费观看a大片的网站| 亚洲一级免费毛片| 在线播放高清国语自产拍免费| 亚洲欧洲精品在线| 成年人在线免费观看| 亚洲性色高清完整版在线观看| 成人免费区一区二区三区| 国产亚洲精品资在线| 国产精品白浆在线观看免费| 亚洲最大在线视频| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 亚洲人成人77777网站| 无码少妇精品一区二区免费动态| 免费成人黄色大片| 国产亚洲高清在线精品不卡| 亚洲免费视频播放| 99亚洲乱人伦aⅴ精品| 午夜毛片不卡高清免费| 亚洲视频在线免费| 国产亚洲精品激情都市| 91香蕉国产线观看免费全集| 亚洲av激情无码专区在线播放| 午夜性色一区二区三区免费不卡视频 | 亚洲AV中文无码乱人伦下载 | 国产一区二区三区免费| 久久伊人亚洲AV无码网站| 96免费精品视频在线观看|