<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 閱讀(266) 評論(0)  編輯  收藏 所屬分類: Struts

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


    網站導航:
     
    主站蜘蛛池模板: 成年女人免费视频播放体验区| 亚洲国产成人无码av在线播放| 亚洲精品电影天堂网| 中国一级毛片免费看视频| 亚洲第一综合天堂另类专| 一级毛片a免费播放王色电影 | 亚洲精品在线播放| 久久久久久久久久国产精品免费| 免费看大黄高清网站视频在线| 亚洲av中文无码乱人伦在线播放| 亚洲av纯肉无码精品动漫| 成年女人男人免费视频播放| 久久乐国产综合亚洲精品| a级毛片无码免费真人| 亚洲 日韩 色 图网站| 好吊妞在线成人免费| 国产精品亚洲片在线| a毛片在线免费观看| 久久精品国产亚洲av麻| 99精品热线在线观看免费视频 | 成人黄色免费网站| 亚洲免费在线视频播放| 皇色在线视频免费网站| 亚洲日本久久久午夜精品| 麻豆成人精品国产免费| 国产亚洲精品免费| 国产亚洲情侣一区二区无码AV| 久久亚洲AV成人无码国产| 99在线免费观看视频| 亚洲另类古典武侠| 操美女视频免费网站| 天天综合亚洲色在线精品| 亚洲精品乱码久久久久久蜜桃 | 成人影片一区免费观看| 亚洲视频在线视频| 成人免费毛片内射美女-百度| 久久亚洲AV成人无码电影| 在线观看免费人成视频色9| 亚洲av无码一区二区三区在线播放| 久久国内免费视频| 久久久久亚洲精品无码网址色欲|