Java+Tomcat+MySQL实现简单的网页注册和登录

博客改版后源码格式乱套了。。。详见Github项目

以下是原始正文:

本文介绍了以Java作为后台语言,以Tomcat搭建本地服务器,同时连接MySQL数据库实现的一个简单的网页注册和登陆功能的实现。前端页面主要使用了html,JavaScript 和 Processing。

 

实现的代码如下。

 

 



  webDemo
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
    LoginTestServlet
    com.test.LoginTestServlet
  
  
    LoginTestServlet
    /loginTestServlet
  
  
    RegisterTestServlet
    com.login.test.RegisterTestServlet
  
  
    RegisterTestServlet
    /RegisterTestServlet
  
  
    ProfileServlet
    com.login.test.ProfileServlet
  
  
    ProfileServlet
    /ProfileServlet
  

  
    ProcessShowServlet
    com.login.test.ProcessShowServlet
  
  
    ProcessShowServlet
    /*ProcessShowServlet
 

package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

/**
 * Servlet implementation class LoginTestServlet
 * WebServlet Annotation is used to declare a servlet and is processed by the container at deployment time
 */
@WebServlet("/LoginTestServlet")
public class LoginTestServlet extends HttpServlet {
    /**
     * The serialization runtime associates with each serializable class a version number, called a serialVersionUID
     * which is used during deserialization to verify that the sender and receiver of a serialized object
     * have loaded classes for that object that are compatible with respect to serialization
     */
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginTestServlet() {
        super();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     * HTTP GET requests are idempotent. I.e. you get exactly the same result everytime you execute the request
     * If a Servlet is listening on the URL in question, then its doGet() method will be called to preprocess a request
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     * HTTP POST requests are not itempotent and the submitted form data is not reflected in the URL
     * If a Servlet is listening on the URL in question, then its doPost() will be called to postprocess a request.
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // the setContentType() sets the content type of the response being sent to the client, which may include a character encoding specification
        // the setCharacterEncoding() overrides the name of the character encoding used in the body of this request
        // the gb2312 encoding is often used for webpages containing Chinese characters
        response.setContentType("text/heml;charset=gb2312");
        request.setCharacterEncoding("gb2312");

        // get the username and password from the form submitted by the login webpage
        String username = request.getParameter("username");
        String psw = request.getParameter("password");

        if(username == "" || username == null || username.length()>20){
            try {
                // print on screen the warning information and go to the login.jsp page
                response.getWriter().print("请输入用户名(不能超过20个字符)!");
                response.setHeader("refresh","2; URL=login.jsp");
                return;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        if(psw == "" || psw == null || psw.length() > 20){
            try {
                response.getWriter().print("请输入密码(不能超过20个字符)!");
                response.setHeader("refresh","2; URL=login.jsp");
                return;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        /**
         * Connecting to MySQL Using the JDBC DriverManager Interface
         */
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.out.print("Class Not Found Exception");
        }

        //add URL for connecting to MySQL
        String url = "jdbc:mysql://localhost:3306/test";
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // Connect to MySQL with valid url, account and password
            conn = (Connection) DriverManager.getConnection(url,"root","12241083");
            stmt = (Statement) conn.createStatement();

            // MySQL syntax: select expr... from table_reference where where_condition
            // Here we excute the query to check if the inputted username and password exist in our MySQL table
            String sql = "select * from employees where name='"+username+"' and password= '"+psw+"'";
            rs = stmt.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
        }

    // Set a session for the current request
    // Set an object named "username" for this session and store our username in it
    // getSession() returns the current session associated with this request
    // setAttribute() binds an object to this session, using the name specified
    HttpSession session = request.getSession();
    session.setAttribute("username", username);

    try {
        // Check if the MySQL query result is null or not
        // if not null, get the user information and go to the success.jsp webpage
        if(rs.next()){
            session.setAttribute("age",rs.getString("age")) ;
            session.setAttribute("sex",rs.getString("sex")) ;
            session.setAttribute("weight",rs.getString("weight")) ;
            response.sendRedirect("success.jsp") ;
            return;
        }else{
            // if null, the inputted user does not exist
            // the setArribute() sets an attribute named "message" and stores the value of result in it
            // the sendRedirect() sends a temporary redirect response to the client
            // using the specified redirect location URL and clears the buffer
            session.setAttribute("message", "用户名或密码不匹配。");
            response.sendRedirect("fail.jsp") ;
            return;
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    }

}package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class RegisterTestServlet extends HttpServlet
{
     private static final long serialVersionUID = 1L;
     public RegisterTestServlet()
     {
         super();
     }
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         // the output informations contain Chinese characters
         response.setContentType("text/html;charset=UTF-8");

         // here we get the register information from the form submitted by the register.jsp page
         String a=request.getParameter("name1");
         String b=request.getParameter("password1");
         String c=request.getParameter("password2");

         if(a!=null && b!=null && c!=null && a!="" && b!="" && c!="")
         // check if all the needed inforamtions are inputted
         {
             if(a.equals(a.replace(" ","?")) && b.equals(b.replace(" ","?")) && c.equals(c.replace(" ","?")))
             // check if the inputted string informations contain blank space
             {
                 try
                 {
                     // connect to MySQL
                     Class.forName("com.mysql.jdbc.Driver");
                     String strUrl = "jdbc:mysql://localhost:3306/test";
                     Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083");
                     Statement st= (Statement) conn.createStatement();
                     ResultSet rs=st.executeQuery("select * from employees");
                     if(rs!=null && rs.next())
                     {
                         // check if the inputted username was already registered
                         // if yes, warn the user by printing corresponding information on the  screen
                         if(a.equals(rs.getString("name")))
                         {
                             response.getWriter().print("该用户已被注册");
                             response.setHeader("refresh","2; URL=register.jsp");
                         }
                         else
                         {
                             // check if two inputted passwords is the same
                             if(b.equals(c))
                             {
                                 response.getWriter().print("注册成功");

                                 // if registered successfully, store the registration information into MySQL
                                 // the ? stands for a placeholder with further information to complete
                                 // PreparedStatement represents a precompiled SQL statement. A SQL statement is precompiled and stored in a PreparedStatement object
                                 // This object can then be used to efficiently execute this statement multiple times
                                 PreparedStatement pst= (PreparedStatement) conn.prepareStatement("insert into employees(name,password,age,weight,sex)"+"values(?,?,0,0,'M')");
                                 pst.setString(1, a);
                                 pst.setString(2, b);
                                 pst.executeUpdate();
                                 response.setHeader("refresh","2; URL=login.jsp");
                             }
                             else
                             {
                                 response.getWriter().print("两次密码不一致");
                                 response.setHeader("refresh","2; URL=register.jsp");
                             }

                         }
                     }
                 }
                 catch (Exception e)
                 {
                     response.getWriter().print("错误"+e);
                     e.printStackTrace();
                 }
             }
             else
             {
                 response.getWriter().print("请检查格式是否正确");
                 response.setHeader("refresh","2; URL=register.jsp");
             }
         }
         else
         {
             response.getWriter().print("请以正确的方式注册账号");
             response.setHeader("refresh","2; URL=register.jsp");
         }
     }

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         doGet(request, response);
     }

 }package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

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 com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class ProfileServlet extends HttpServlet
{
     private static final long serialVersionUID = 1L;
     public ProfileServlet()
     {
         super();
     }

     // check if v is an integer
     public static boolean isInteger(String v){
         try{
               Integer.parseInt(v);
               return true;
         }catch(NumberFormatException e){
               return false;
         }
     }

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         response.setContentType("text/html;charset=UTF-8");

         String nm=request.getParameter("userName");
         String ag=request.getParameter("age1").trim();
         String wg=request.getParameter("weight1").trim();
         String sx=request.getParameter("sex1").trim();

         if(ag!=null && wg!=null && sx!=null && ag!="" && wg!="" && sx!="")
         {

             try {
                 Class.forName("com.mysql.jdbc.Driver");
             } catch (Exception e) {
                 System.out.print("Class Not Found Exception");
             }

             String url = "jdbc:mysql://localhost:3306/test";
             Connection conn = null;
             Statement stmt = null;
             ResultSet rs = null;

             try {
                 conn = (Connection) DriverManager.getConnection(url,"root","12241083");
                 stmt = (Statement) conn.createStatement();

                 String sql = "select * from employees where name='"+nm+"'";
                 rs = stmt.executeQuery(sql);
             } catch (Exception e) {
                 e.printStackTrace();
             }

             try {
                        if(rs.next())
                        {
                              if(isInteger(ag) && isInteger(wg)){
                                // get the integer value
                                int a=Integer.valueOf(ag);
                                int w=Integer.valueOf(wg);

                                // update the user information in MySQL
                                String sq = "update employees set age="+a+",weight="+w+",sex='"+sx+"' where name='"+nm+"'";
                                PreparedStatement p1= (PreparedStatement) conn.prepareStatement(sq);
                                p1.executeUpdate();

                                response.getWriter().print("修改成功!");

                                HttpSession session = request.getSession();
                                session.setAttribute("username", nm);
                                session.setAttribute("age", ag);
                                session.setAttribute("weight", wg);
                                session.setAttribute("sex", sx);
                                response.setHeader("refresh","2; URL=success.jsp");
                             }else{
                                      response.getWriter().print("年龄和体重应该为整数!");
                                      response.setHeader("refresh","2; URL=profile.jsp");
                             }
                        }
                        else{
                           response.getWriter().print("该用户不存在!");
                           response.setHeader("refresh","2; URL=profile.jsp");
                        }
                 } catch (SQLException e) {
                           e.printStackTrace();
                 }
          }
          else
          {
             response.getWriter().print("请输入有效数据!");
             response.setHeader("refresh","2; URL=profile.jsp");
          }
     }

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         doGet(request, response);
     }

 }<%@pagelanguage="java"contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%--UTF-8 is a character encoding capable of encoding all possible characters, or code points, defined by Unicode--%>


  webDemo
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
    LoginTestServlet
    com.test.LoginTestServlet
  
  
    LoginTestServlet
    /loginTestServlet
  
  
    RegisterTestServlet
    com.login.test.RegisterTestServlet
  
  
    RegisterTestServlet
    /RegisterTestServlet
  
  
    ProfileServlet
    com.login.test.ProfileServlet
  
  
    ProfileServlet
    /ProfileServlet
  

  
    ProcessShowServlet
    com.login.test.ProcessShowServlet
  
  
    ProcessShowServlet
    /*ProcessShowServlet
 

package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

/**
 * Servlet implementation class LoginTestServlet
 * WebServlet Annotation is used to declare a servlet and is processed by the container at deployment time
 */
@WebServlet("/LoginTestServlet")
public class LoginTestServlet extends HttpServlet {
    /**
     * The serialization runtime associates with each serializable class a version number, called a serialVersionUID
     * which is used during deserialization to verify that the sender and receiver of a serialized object
     * have loaded classes for that object that are compatible with respect to serialization
     */
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginTestServlet() {
        super();
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     * HTTP GET requests are idempotent. I.e. you get exactly the same result everytime you execute the request
     * If a Servlet is listening on the URL in question, then its doGet() method will be called to preprocess a request
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     * HTTP POST requests are not itempotent and the submitted form data is not reflected in the URL
     * If a Servlet is listening on the URL in question, then its doPost() will be called to postprocess a request.
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // the setContentType() sets the content type of the response being sent to the client, which may include a character encoding specification
        // the setCharacterEncoding() overrides the name of the character encoding used in the body of this request
        // the gb2312 encoding is often used for webpages containing Chinese characters
        response.setContentType("text/heml;charset=gb2312");
        request.setCharacterEncoding("gb2312");

        // get the username and password from the form submitted by the login webpage
        String username = request.getParameter("username");
        String psw = request.getParameter("password");

        if(username == "" || username == null || username.length()>20){
            try {
                // print on screen the warning information and go to the login.jsp page
                response.getWriter().print("请输入用户名(不能超过20个字符)!");
                response.setHeader("refresh","2; URL=login.jsp");
                return;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        if(psw == "" || psw == null || psw.length() > 20){
            try {
                response.getWriter().print("请输入密码(不能超过20个字符)!");
                response.setHeader("refresh","2; URL=login.jsp");
                return;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        /**
         * Connecting to MySQL Using the JDBC DriverManager Interface
         */
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.out.print("Class Not Found Exception");
        }

        //add URL for connecting to MySQL
        String url = "jdbc:mysql://localhost:3306/test";
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // Connect to MySQL with valid url, account and password
            conn = (Connection) DriverManager.getConnection(url,"root","12241083");
            stmt = (Statement) conn.createStatement();

            // MySQL syntax: select expr... from table_reference where where_condition
            // Here we excute the query to check if the inputted username and password exist in our MySQL table
            String sql = "select * from employees where name='"+username+"' and password= '"+psw+"'";
            rs = stmt.executeQuery(sql);
        } catch (Exception e) {
            e.printStackTrace();
        }

    // Set a session for the current request
    // Set an object named "username" for this session and store our username in it
    // getSession() returns the current session associated with this request
    // setAttribute() binds an object to this session, using the name specified
    HttpSession session = request.getSession();
    session.setAttribute("username", username);

    try {
        // Check if the MySQL query result is null or not
        // if not null, get the user information and go to the success.jsp webpage
        if(rs.next()){
            session.setAttribute("age",rs.getString("age")) ;
            session.setAttribute("sex",rs.getString("sex")) ;
            session.setAttribute("weight",rs.getString("weight")) ;
            response.sendRedirect("success.jsp") ;
            return;
        }else{
            // if null, the inputted user does not exist
            // the setArribute() sets an attribute named "message" and stores the value of result in it
            // the sendRedirect() sends a temporary redirect response to the client
            // using the specified redirect location URL and clears the buffer
            session.setAttribute("message", "用户名或密码不匹配。");
            response.sendRedirect("fail.jsp") ;
            return;
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    }

}package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class RegisterTestServlet extends HttpServlet
{
     private static final long serialVersionUID = 1L;
     public RegisterTestServlet()
     {
         super();
     }
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         // the output informations contain Chinese characters
         response.setContentType("text/html;charset=UTF-8");

         // here we get the register information from the form submitted by the register.jsp page
         String a=request.getParameter("name1");
         String b=request.getParameter("password1");
         String c=request.getParameter("password2");

         if(a!=null && b!=null && c!=null && a!="" && b!="" && c!="")
         // check if all the needed inforamtions are inputted
         {
             if(a.equals(a.replace(" ","?")) && b.equals(b.replace(" ","?")) && c.equals(c.replace(" ","?")))
             // check if the inputted string informations contain blank space
             {
                 try
                 {
                     // connect to MySQL
                     Class.forName("com.mysql.jdbc.Driver");
                     String strUrl = "jdbc:mysql://localhost:3306/test";
                     Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083");
                     Statement st= (Statement) conn.createStatement();
                     ResultSet rs=st.executeQuery("select * from employees");
                     if(rs!=null && rs.next())
                     {
                         // check if the inputted username was already registered
                         // if yes, warn the user by printing corresponding information on the  screen
                         if(a.equals(rs.getString("name")))
                         {
                             response.getWriter().print("该用户已被注册");
                             response.setHeader("refresh","2; URL=register.jsp");
                         }
                         else
                         {
                             // check if two inputted passwords is the same
                             if(b.equals(c))
                             {
                                 response.getWriter().print("注册成功");

                                 // if registered successfully, store the registration information into MySQL
                                 // the ? stands for a placeholder with further information to complete
                                 // PreparedStatement represents a precompiled SQL statement. A SQL statement is precompiled and stored in a PreparedStatement object
                                 // This object can then be used to efficiently execute this statement multiple times
                                 PreparedStatement pst= (PreparedStatement) conn.prepareStatement("insert into employees(name,password,age,weight,sex)"+"values(?,?,0,0,'M')");
                                 pst.setString(1, a);
                                 pst.setString(2, b);
                                 pst.executeUpdate();
                                 response.setHeader("refresh","2; URL=login.jsp");
                             }
                             else
                             {
                                 response.getWriter().print("两次密码不一致");
                                 response.setHeader("refresh","2; URL=register.jsp");
                             }

                         }
                     }
                 }
                 catch (Exception e)
                 {
                     response.getWriter().print("错误"+e);
                     e.printStackTrace();
                 }
             }
             else
             {
                 response.getWriter().print("请检查格式是否正确");
                 response.setHeader("refresh","2; URL=register.jsp");
             }
         }
         else
         {
             response.getWriter().print("请以正确的方式注册账号");
             response.setHeader("refresh","2; URL=register.jsp");
         }
     }

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         doGet(request, response);
     }

 }package com.login.test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

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 com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class ProfileServlet extends HttpServlet
{
     private static final long serialVersionUID = 1L;
     public ProfileServlet()
     {
         super();
     }

     // check if v is an integer
     public static boolean isInteger(String v){
         try{
               Integer.parseInt(v);
               return true;
         }catch(NumberFormatException e){
               return false;
         }
     }

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         response.setContentType("text/html;charset=UTF-8");

         String nm=request.getParameter("userName");
         String ag=request.getParameter("age1").trim();
         String wg=request.getParameter("weight1").trim();
         String sx=request.getParameter("sex1").trim();

         if(ag!=null && wg!=null && sx!=null && ag!="" && wg!="" && sx!="")
         {

             try {
                 Class.forName("com.mysql.jdbc.Driver");
             } catch (Exception e) {
                 System.out.print("Class Not Found Exception");
             }

             String url = "jdbc:mysql://localhost:3306/test";
             Connection conn = null;
             Statement stmt = null;
             ResultSet rs = null;

             try {
                 conn = (Connection) DriverManager.getConnection(url,"root","12241083");
                 stmt = (Statement) conn.createStatement();

                 String sql = "select * from employees where name='"+nm+"'";
                 rs = stmt.executeQuery(sql);
             } catch (Exception e) {
                 e.printStackTrace();
             }

             try {
                        if(rs.next())
                        {
                              if(isInteger(ag) && isInteger(wg)){
                                // get the integer value
                                int a=Integer.valueOf(ag);
                                int w=Integer.valueOf(wg);

                                // update the user information in MySQL
                                String sq = "update employees set age="+a+",weight="+w+",sex='"+sx+"' where name='"+nm+"'";
                                PreparedStatement p1= (PreparedStatement) conn.prepareStatement(sq);
                                p1.executeUpdate();

                                response.getWriter().print("修改成功!");

                                HttpSession session = request.getSession();
                                session.setAttribute("username", nm);
                                session.setAttribute("age", ag);
                                session.setAttribute("weight", wg);
                                session.setAttribute("sex", sx);
                                response.setHeader("refresh","2; URL=success.jsp");
                             }else{
                                      response.getWriter().print("年龄和体重应该为整数!");
                                      response.setHeader("refresh","2; URL=profile.jsp");
                             }
                        }
                        else{
                           response.getWriter().print("该用户不存在!");
                           response.setHeader("refresh","2; URL=profile.jsp");
                        }
                 } catch (SQLException e) {
                           e.printStackTrace();
                 }
          }
          else
          {
             response.getWriter().print("请输入有效数据!");
             response.setHeader("refresh","2; URL=profile.jsp");
          }
     }

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {
         doGet(request, response);
     }

 }<%@pagelanguage="java"contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%--UTF-8 is a character encoding capable of encoding all possible characters, or code points, defined by Unicode--%>

<%--Meta tags are used by the likes of search engines to catalogue information about the web page--%>用户登录

<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>

<%--we use a form to submit the data inputted by users--%> <%--action=The address to which submitted form data should be sent to--%> <%--method=The HTTP method by which submitted form data should be sent--%> <%--name=The name of the form--%>

用户登录

<%--the table element defines the table, tr defines a table row, td defines a data cell--%>

用户名:<%--here this data cell will take up two columns--%> <%--here we name the inputted data as username and send it to LoginTestServlet--%> <%--the onfocus attribute is used to clear the default values when the data cell is focused on--%>
密 码 
<%--submit the form--%><%--reset the inputted data--%><%--call the goRegister() function on click--%>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>登录失败<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> <% String userName = (String) session.getAttribute("username"); String msg = (String) session.getAttribute("message"); %>

<%=userName%> 对不起,登陆失败!
原因: <%=msg%> <%--print the reason for the failed login--%>

5秒后将返回登陆界面。

<% response.setHeader("Refresh", "5;URL=login.jsp"); // refresh the webpage in 5 sec and then go to the login.jsp page %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>注册页面<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>

用户注册

用户名 
密 码 
确认密码 
   

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%--doc type declaration--%>登录成功<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> <% // Check if the user has logged in String userName = (String)session.getAttribute("username") ; if(userName == null || userName == ""){ %>

用户未登录!

 

正在跳转到登录页面。。。

<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ String age = (String)session.getAttribute("age"); String weight = (String)session.getAttribute("weight"); String sex = (String)session.getAttribute("sex"); // get the corrsponding values of objects in this session with given names and convert them into String. // the trim() method returns a copy of the string, with leading and trailing whitespace omitted. if (sex.trim().equals("M")) { sex ="男" ; }else{ sex = "女" ; } %> <%--

marks up a generic block with no associated semantics--%><%=userName %> 欢迎您,登陆成功!
登陆用户信息:

姓名:<%=userName %>
年龄:<%=age %>
体重:<%=weight %> kg
性别:<%=sex %>

展示 修改资料
<% } %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

修改个人资料<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>

<% // Check if the user has logged in String Iusername = (String)session.getAttribute("username") ; if(Iusername == null || Iusername == ""){ %>

用户未登录!

 

正在跳转到登录页面。。。

<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ String Iage = (String)session.getAttribute("age") ; String Iweight = (String)session.getAttribute("weight") ; String Isex = (String)session.getAttribute("sex") ; %> <%=Iusername %>修改个人资料

用户: >
年龄: οnfοcus="if(this.value==Iage) this.value='';">
体重: οnfοcus="if(this.value==Iweight) this.value='';">
性别: <% if(Isex.trim().equals("M")) { %> Male: Female: <% } else {%> Male: Female: <% } %>

> <% } %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>注销登录<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); // log out and remove user information session.removeAttribute("username"); session.invalidate(); %>

注销成功!

 

正在跳转到登录页面。。。

<% response.setHeader("Refresh", "1;URL=login.jsp"); %> package com.login.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; /** * Servlet implementation class ProcessShowServlet */ @WebServlet("/ProcessShowServlet") public class ProcessShowServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ProcessShowServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); //response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("appliation/json"); PrintWriter out = response.getWriter(); List ulist = new ArrayList();//传递List try{ Class.forName("com.mysql.jdbc.Driver"); String strUrl = "jdbc:mysql://localhost:3306/test"; Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083"); Statement st= (Statement) conn.createStatement(); ResultSet rs=st.executeQuery("select * from employees"); //遍历结果集获取指定数据 while(rs!=null && rs.next()) { ulist.add(new User(rs.getInt("age"))); } } catch (Exception e) { response.getWriter().print("错误"+e); e.printStackTrace(); } JSONArray jsonArray1 = JSONArray.fromObject(ulist);//转化成json对象 out.println(jsonArray1);//返给ajax请求 out.flush(); } }<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>图片展示<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragrma","no-cache"); response.setDateHeader("Expires",0); String userName = (String)session.getAttribute("username") ; if(userName == null || userName == ""){ %>

用户未登录!

 

正在跳转到登录页面。。。

<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ %> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <%-- processing.js和pde文件都存放在WebContent目录下的public文件夹里 --%> <% } %> void setup() { size(640, 360); } void draw() { background(127); noStroke(); for (int i=0, k=0; i < yHeights.length; i++) { fill(129, 206, 15); rect(k, 0, 10, yHeights[i]); k += 20; } }

 

 

其中show.jsp页面需要获得Jquery支持(http://libs.baidu.com/jquery/1.10.2/jquery.min.js),运行时需保持网络连接,也可以在本地项目配置Jquery。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GottdesKrieges

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值