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

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

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

    WEB開發 de 點滴

    by sanwish

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      38 隨筆 :: 0 文章 :: 4 評論 :: 0 Trackbacks
    利用struts自帶的數據連接池連接數據庫
    zhanggok ()???? 2004-03-28 01:44:39 在 Java / 框架、開源 提問
    這是我從網上看到是但有一點不明白??
    ? dataSource=getDataSource(request);??
    ? 這里的request是HttpServletRequest?? request??
    ? 嗎.這樣就以得到數據源嗎?不明白??
    ? struts自帶的數據連接池在struts-config.xml中可以設置??
    ? 本人的設置如下:??
    ? <data-sources>??
    ???
    ? <data-source?? type="org.apache.commons.dbcp.BasicDataSource">??
    ???
    ? <set-property??
    ???
    ? property="description"??
    ???
    ? value="Airline?? DB?? Connection?? config"/>??
    ???
    ? <set-property??
    ???
    ? property="driverClassName"??
    ???
    ? value="com.mysql.jdbc.Driver"/>??
    ???
    ? <set-property??
    ???
    ? property="maxCount"??
    ???
    ? value="10"/>??
    ???
    ? <set-property??
    ???
    ? property="password"??
    ???
    ? value=""/>??
    ???
    ? <set-property??
    ???
    ? property="url"??
    ???
    ? value="jdbc:mysql://localhost/airline"/>??
    ???
    ? <set-property??
    ???
    ? property="username"??
    ???
    ? value="root"/>??
    ???
    ? <set-property????
    ???
    ? property="maxWait"????
    ???
    ? value="5000"?? />??
    ???
    ? <set-property??
    ???
    ? property="defaultAutoCommit"??
    ???
    ? value="false"?? />??
    ???
    ? <set-property??
    ???
    ? property="defaultReadOnly"??
    ???
    ? value="false"?? />??
    ???
    ? </data-source>??
    ???
    ? </data-sources>??
    ???
    ? 這些基本的,我想大家都應該看得懂吧??
    ? 然后就是來驗證我們的數據庫連接了??
    ? 這里用一個login來測試??
    ? 第一個是LoginForm??
    ? package?? com.airline;??
    ???
    ? import?? javax.servlet.http.HttpServletRequest;??
    ? import?? org.apache.struts.action.ActionError;??
    ? import?? org.apache.struts.action.ActionErrors;??
    ? import?? org.apache.struts.action.ActionForm;??
    ? import?? org.apache.struts.action.ActionMapping;??
    ???
    ? public?? final?? class?? LoginForm?? extends?? ActionForm?? {??
    ? private?? String?? userName;??
    ? private?? String?? password;??
    ???
    ? public?? String?? getUserName()?? {??
    ? return?? userName;??
    ? }??
    ? public?? void?? setUserName(String?? userName)?? {??
    ? this.userName?? =?? userName;??
    ? }??
    ? public?? String?? getPassword()?? {??
    ? return?? password;??
    ? }??
    ? public?? void?? setPassword(String?? password)?? {??
    ? this.password?? =?? password;??
    ? }??
    ? public?? void?? reset(ActionMapping?? mapping,?? HttpServletRequest?? request)?? {??
    ? password?? =?? null;??
    ? userName?? =?? null;??
    ? }??
    ? public?? ActionErrors?? validate(ActionMapping?? mapping,?? HttpServletRequest?? request)?? {??
    ? ActionErrors?? errors?? =?? new?? ActionErrors();??
    ? if?? ((userName==null)?? ||?? (userName.length()?? <?? 1))??
    ? errors.add("userName",?? new?? ActionError("error.missing.userName"));??
    ? if?? ((password==null)?? ||?? (password.length()?? <?? 1))??
    ? errors.add("password",?? new?? ActionError("error.missing.password"));??
    ? return?? errors;??
    ? }??
    ???
    ? }??
    ? 這個java就是給將來我們要提交的數據一個容器,就像“裝水的玻璃瓶”一樣,這是一個“瓶子”??
    ? 接下來的就是LoginAction??
    ? package?? com.airline;??
    ???
    ? import?? java.io.IOException;??
    ? import?? javax.servlet.RequestDispatcher;??
    ? import?? javax.servlet.ServletException;??
    ? import?? javax.servlet.http.HttpServletRequest;??
    ? import?? javax.servlet.http.HttpSession;??
    ? import?? javax.servlet.http.HttpServletResponse;??
    ? import?? javax.servlet.http.HttpServlet;??
    ? import?? org.apache.struts.action.Action;??
    ? import?? org.apache.struts.action.ActionForward;??
    ? import?? org.apache.struts.action.ActionForm;??
    ? import?? org.apache.struts.action.ActionMapping;??
    ? import?? org.apache.struts.action.ActionError;??
    ? import?? org.apache.struts.action.ActionErrors;??
    ? import?? java.sql.ResultSet;??
    ? import?? java.sql.Connection;??
    ? import?? java.sql.Statement;??
    ? import?? java.sql.SQLException;??
    ? import?? javax.sql.DataSource;??
    ???
    ???
    ? public?? final?? class?? LoginAction?? extends?? Action?? {??
    ? public?? ActionForward?? execute(ActionMapping?? mapping,??
    ? ActionForm?? form,?? HttpServletRequest?? request,?? HttpServletResponse?? response)??
    ? throws?? IOException,?? ServletException?? {??
    ???
    ? String?? userName?? =?? ((LoginForm)?? form).getUserName();??
    ? String?? password?? =?? ((LoginForm)?? form).getPassword();??
    ? DataSource?? dataSource;??
    ? Connection?? con=null;??
    ? Statement?? stmt;??
    ? ResultSet?? rs;??
    ? String?? usn="",pwd="",result="";??
    ???
    ? try{??
    ? dataSource=getDataSource(request);??
    ? con=dataSource.getConnection();??
    ? stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);??
    ? rs=stmt.executeQuery("select?? *?? from?? login?? where?? username='"+userName+"'");??
    ???
    ? while(rs.next()){??
    ? usn=rs.getString(2);??
    ? pwd=rs.getString(3);??
    ? }??
    ???
    ? }catch(SQLException?? sqle){??
    ? getServlet().log("Connection.process",sqle);??
    ???
    ? }finally{??
    ? try{??
    ? con.close();??
    ? }catch(SQLException?? e){??
    ? getServlet().log("Connection.close",e);??
    ? }??
    ? }??
    ? if?? (userName!=null?? &&?? password!=null?? &&????
    ? password.equals(pwd))?? {??
    ? HttpSession?? session?? =?? request.getSession();??
    ? session.setAttribute("loggedIn",?? "1");??
    ? return?? mapping.findForward("success");??
    ? }??
    ? else?? {??
    ? ActionErrors?? errors?? =?? new?? ActionErrors();??
    ? errors.add(ActionErrors.GLOBAL_ERROR,????
    ? new?? ActionError("error.login.failed"));??
    ? saveErrors(request,?? errors);??
    ? return?? (new?? ActionForward(mapping.getInput()));??
    ? }??
    ? }??
    ? }??
    ? 這個java就是來具體處理我們剛才放在"瓶子"里的東西,它就會連接到MYSQL數據庫里去查找相應的數據,然后驗證一下。??
    ???
    ? 接下來,我們就要在struts-config.xml中對剛才的兩個java作一下設置了??
    ? 首先是在<Action-mapping>中加入如下的代碼??
    ? <action?? path="/login"????
    ? type="com.airline.LoginAction"????
    ? name="loginForm"??
    ? scope="request"??
    ? input="/login.jsp">??
    ? <forward?? name="success"?? path="/mainMenu.jsp"/>??
    ? </action>??
    ? 然后在<form-bean>中加入??
    ? <form-bean?? name="loginForm"?? type="com.airline.LoginForm"/>??
    ? 最后再來做一下jsp頁面??
    ? login.jsp??
    ? <%@?? taglib?? uri="/WEB-INF/struts-html.tld"?? prefix="html"?? %>??
    ? <html:html?? locale="true">??
    ? <head>??
    ? <title>Login?? Page</title>??
    ? <html:base/>??
    ? </head>??
    ? <body>??
    ???
    ? <html:errors/>??
    ???
    ? Please?? enter?? your?? user?? name?? and?? password??
    ? <br>??
    ???
    ? <html:form?? action="/login"?? focus="userName">??
    ? <table>??
    ? <tr>??
    ? <td>User?? Name:</td>??
    ? <td><html:text?? property="userName"/>??
    ? </tr>??
    ? <tr>??
    ? <td>Password:</td>??
    ? <td><html:password?? property="password"?? redisplay="false"/>??
    ? </tr>??
    ? <tr>??
    ? <td?? colspan=2?? align=right><html:submit?? property="submit"?? value="Login"/></td>??
    ? </tr>??
    ? </table>??
    ? </html:form>??
    ???
    ? </body>??
    ? </html:html>??
    ???
    ? mainMenu.jsp??
    ? <%??
    ? if?? (session.getAttribute("loggedIn")==null)?? {??
    ? %>??
    ? <jsp:forward?? page="login.jsp"/>??
    ? <%??
    ? }??
    ? else?? {??
    ? %>????
    ???
    ? <html>??
    ? <head>??
    ? <title>Main?? Menu</title>??
    ? </head>??
    ? <body>??
    ???
    ? <b>Main?? Menu</b>??
    ? <br><a?? href=logout.do>Log?? Out</a>??
    ? <br><a?? href=viewSecret.do>View?? Company?? Secrets</a>??
    ???
    ? </body>??
    ? </html>??
    ???
    ? <%??
    ? }??
    ? %>??
    ???
    ? 在classes下找到application.properties??
    ? 加入如下代碼:??
    ? errors.header=<b>Error(s)!!!</b><ul>??
    ? errors.footer=</ul><hr>??
    ? error.missing.userName=<li>A?? user?? name?? was?? not?? found.</li>??
    ? error.missing.password=<li>A?? password?? was?? not?? found.</li>??
    ? error.login.failed=<li>Incorrect?? user?? name?? and/or?? password.</li>??
    ? 這些是用來顯示出錯信息的。??
    ? 好了,打開Tomcat服務器,來測試一下吧
    posted on 2008-11-07 11:21 sanwish 閱讀(270) 評論(0)  編輯  收藏 所屬分類: Struts

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 2021在线观看视频精品免费| 久久国产精品国产自线拍免费| 亚洲最大免费视频网| 久久国产亚洲观看| 久久精品国产大片免费观看| 亚洲桃色AV无码| 日本免费一区二区久久人人澡| 国产∨亚洲V天堂无码久久久| 一级做α爱过程免费视频| 久久久久国产成人精品亚洲午夜| 男男gay做爽爽免费视频| 国产99视频免费精品是看6| 麻豆69堂免费视频| 2048亚洲精品国产| 国产一二三四区乱码免费| 亚洲av无码国产精品色午夜字幕| 黄网站色视频免费在线观看的a站最新| 亚洲毛片αv无线播放一区| 日韩免费在线观看视频| 久久久无码精品亚洲日韩京东传媒| 亚洲成人免费网站| 亚洲欧美国产日韩av野草社区| 免费一看一级毛片全播放| 黄色网页在线免费观看| 亚洲资源在线观看| 最近2019中文字幕免费看最新| 国产亚洲精品精品精品| 国产亚洲美日韩AV中文字幕无码成人| 久草免费福利视频| 亚洲综合欧美色五月俺也去| 亚洲精品色婷婷在线影院| 精品在线免费观看| 亚洲国产精品自在自线观看| 久久久精品国产亚洲成人满18免费网站 | 亚洲免费日韩无码系列| 亚洲今日精彩视频| 国产老女人精品免费视频| 人妻在线日韩免费视频| 国产亚洲sss在线播放| 亚洲精品综合久久| 国产91免费视频|