架構執行個體之Demo_JSP_JavaBean_Servlet,jspservletjavabean

來源:互聯網
上載者:User

架構執行個體之Demo_JSP_JavaBean_Servlet,jspservletjavabean

架構執行個體之Demo_JSP_JavaBean_Servlet

1、開發工具和開發環境

      開發工具: MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13

     開發環境:WIN10

2、Demo_JSP_JavaBean_Servlet實現功能

      使用者登入、使用者註冊、退出登入。

3、Demo_JSP_Java_Bean_Servlet使用技術

      本執行個體使用了JSP、JavaBean、Servlet和JDBC來實現使用者登入、使用者註冊和退出登入功能。系統架構圖一所示:

 圖一:Demo_JSP_Java_Bean_Servlet系統架構圖

     下面請看圖二(系統中JSP、JavaBean和Servlet之間的邏輯關係圖):

  

 

圖二:系統中JSP、JavaBean和Servlet之間的邏輯關係圖

 

4、具體實現

       本篇部落格執行個體代碼是基於本人上一篇部落格代碼修改而來,其中修改的部分是增加了一個Servlet,並刪除了JSP檔案中處理邏輯層的檔案,接下來主要講解一下修改的部分——Servlet:

      首先在項目Demo_JSP_Java_Bean_Servlet中建立一個Servlet類:類名命名為UserServlet,包名命名為liu_servlet,該Servlet類主要實現使用者登入、註冊和退出的邏輯處理,並且調用JavaBean來操作資料庫。UserServlet類的具體代碼如下:

package liu_servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import liu.UserBean;public class UserServlet extends HttpServlet {    /**     *      */    private static final long serialVersionUID = 1L;    /**     * Constructor of the object.     */    public UserServlet() {        super();    }    /**     * Destruction of the servlet. <br>     */    public void destroy() {        super.destroy(); // Just puts "destroy" string in log        // Put your code here    }    /**     * The doGet method of the servlet. <br>     *     * This method is called when a form has its tag value method equals to get.     *      * @param request the request send by the client to the server     * @param response the response send by the server to the client     * @throws ServletException if an error occurred     * @throws IOException if an error occurred     */    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        String method = (String)request.getParameter("method");        if(method==null) {            PrintWriter out = response.getWriter();            out.println("invalid request!");        } else if(method.equals("login")) {            Login(request, response);        } else if(method.equals("logout")) {            Logout(request, response);        } else if(method.equals("register")) {            Register(request, response);        }    }    /**     * The doPost method of the servlet. <br>     *     * This method is called when a form has its tag value method equals to post.     *      * @param request the request send by the client to the server     * @param response the response send by the server to the client     * @throws ServletException if an error occurred     * @throws IOException if an error occurred     */    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {         doGet(request,response);    }    /**     * Initialization of the servlet. <br>     *     * @throws ServletException if an error occurs     */        protected void Login(HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException {        // get parameters        String username = request.getParameter("username");        String password = request.getParameter("password");        // check null        if (username == null || password == null) {            response.sendRedirect("login.jsp");            return;        }        // validate        UserBean userBean = new UserBean();        boolean isValid = userBean.valid(username, password);        if (isValid) {            HttpSession session = request.getSession();            session.setAttribute("username", username);            response.sendRedirect("welcome.jsp");            return;        } else {            response.sendRedirect("login.jsp");            return;        }    }    protected void Logout(HttpServletRequest request,            HttpServletResponse response) throws ServletException, IOException {        HttpSession session = request.getSession();        session.removeAttribute("username");        response.sendRedirect("login.jsp");    }    protected void Register(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        // get parameters        String username = request.getParameter("username");        String password1 = request.getParameter("password1");        String password2 = request.getParameter("password2");        String email = request.getParameter("email");        // check null        if (username == null || password1 == null || password2 == null || !password1.equals(password2)) {            response.sendRedirect("register.jsp");            return;        }        // validate        UserBean userBean = new UserBean();        boolean isExist = userBean.isExist(username);        if(!isExist) {            userBean.add(username, password1, email);            response.sendRedirect("login.jsp");            return;        } else {            response.sendRedirect("register.jsp");            return;        }    }        public void init() throws ServletException {        // Put your code here    }}

    接下來,查看Demo_JSP_Java_Bean_Servlet項目下web.xml檔案,其中我的web.xml檔案代碼如下:

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"     xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <display-name></display-name>      <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>UserServlet</servlet-name>    <servlet-class>liu_servlet.UserServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>UserServlet</servlet-name>    <url-pattern>/UserServlet</url-pattern>  </servlet-mapping>      <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

 

    注意:<url-pattern>/UserServlet</url-pattern>這一句我是開啟後修改的,未修改之前的代碼應該是:<url-pattern>/servlet/UserServlet</url-pattern>。如果不把/servlet去掉,到時進行邏輯處理跳轉介面時,就會出現在URL中多出了.../servlet/welcome.jsp,從而報Tomcat中沒有welcome.jsp編譯檔案的錯誤。

   其他部分代碼以及結果展示請查看本人上一篇部落格哦:http://www.cnblogs.com/liuzhen1995/p/5700789.html

附:Demo_JSP_Java_Bean_Servlet項目源碼檔案百度雲下載連結:http://pan.baidu.com/s/1geEOyht 密碼:zhu4

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.