java jsp+servlet+mysql實現登入網頁設計

來源:互聯網
上載者:User

標籤:web.xml   servlet   jsp   jdbc   

涉及下面幾個檔案:


1,登入頁面 login.jsp

2,成功跳轉頁面 success.jsp

3,失敗跳轉頁面 fail.jsp

4,servlet 處理類 LoginTestServlet.java

5,設定檔 web.xml


---------------------------------------------  依次看代碼      --------------------------------------------

LoginTestServlet.java 內容

package com.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("/LoginTestServlet")public class LoginTestServlet extends HttpServlet {private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public LoginTestServlet() {        super();            }/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/heml;charset=gb2312");request.setCharacterEncoding("gb2312");String result = "";String username = request.getParameter("username");String psw = request.getParameter("password");if(username == "" || username == null || username.length()>20){try {result = "請輸入使用者名稱(不能超過20個字元)";request.setAttribute("message", result);response.sendRedirect("login.jsp");return;} catch (Exception e) {e.printStackTrace();}}if(psw == "" || psw == null || psw.length() > 20){try {result = "請輸入密碼(不能超過20個字元)";request.setAttribute("message", result);response.sendRedirect("login.jsp");return;} catch (Exception e) {e.printStackTrace();}}//登記JDBC驅動程式try {Class.forName("com.mysql.jdbc.Driver");} catch (Exception e) {System.out.print("Class Not Found Exception");}//連結URLString url = "jdbc:mysql://localhost:3306/demo";Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = (Connection) DriverManager.getConnection(url,"root","root");stmt = (Statement) conn.createStatement();String sql = "select * from userInfo where username='"+username+"' and userpsw= '"+psw+"'";rs = stmt.executeQuery(sql);} catch (Exception e) {e.printStackTrace();}HttpSession session = request.getSession();session.setAttribute("username", username);try {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{    session.setAttribute("message", "使用者名稱或密碼不匹配。");    response.sendRedirect("fail.jsp") ;    return;}} catch (Exception e) {e.printStackTrace();}}}


login.jsp 內容

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>使用者登入</title></head><body> <form method="POST" name="frmLogin" action="LoginTestServlet"> <h1 align="center">使用者登入</h1> <center> <table border="1"> <tr> <td>使用者名稱:</td> <td>     <input type="text" name="username" value="" size="20" maxlength="20" onfocus="if (this.value=='Your name')  this.value='';" /> </td> </tr> <tr> <td>密  碼</td> <td> <input type="password" name="password" value="" size="20" maxlength="20" onfocus="if(this.value=='Your Password') this.value='';"> </td> </tr> <tr> <td> <input type="submit" name="Submit" value=" 提交" onclick="return validateLogin()"> </td> <td>     <input type="reset" name="Reset" value="重設" /> </td> </tr> </table> </center> </form>  <script type="text/javascript">    function validateLogin(){  var sUserName = document.frmLogin.username.value;  var sPassword = document.frmLogin.psssword.value;     if (sUserName ==""){      alert("請輸入使用者名稱!");      return false ;     }          if (sPassword ==""){      alert("請輸入密碼!");      return false ;     } } </script></body></html>

success.jsp 內容

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%   String userName = (String)session.getAttribute("username") ;   String age = (String)session.getAttribute("age") ;   String weight = (String)session.getAttribute("weight") ;   String sex = (String)session.getAttribute("sex") ;   System.out.println("性別:A" + sex +"A")  ;   if (sex.trim().equals("M")) {    sex ="男" ;   }else{    sex = "女" ;   }  %>  <div align="center">   <%=userName %>   歡迎您,登陸成功!<br />   <font color="blue">登陸使用者資訊:</font>   <table border =1 >    <tr>     <td> 姓名: </td>     <td>  <%=userName %>  </td>    </tr>    <tr>     <td> 年齡: </td>     <td>  <%=age %>  </td>    </tr>    <tr>     <td> 體重: </td>     <td>  <%=weight %> kg </td>    </tr>    <tr>     <td> 性別: </td>     <td>  <%=sex %>  </td>    </tr>   </table>   <a href="login.jsp">返回</a>  </div></body></html>

fail.jsp 內容

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%String userName = (String) session.getAttribute("username");String msg = (String) session.getAttribute("message");%><div align="center"><%=userName%>對不起,登陸失敗!<br /> <font color="red">原因: </font><%=msg%><br /> <br /> 5秒後將返回登陸介面。</div><%response.setHeader("Refresh", "5;URL=/webDemo/login.jsp");%></body></html>


-------------------------------------------------------設定資料庫------------------------------------------------------

 mysql資料庫中需要建立資料庫demo,其中建立表userInfo 建立表語句為:
  create databasedemo;
  use demo
  create table userInfo(id int not null primary key,username char(20) not null,userpsw char(20) ,age int ,weight int ,sex enum(‘M‘,‘F‘)) ;
  
  需要把串連mysql的jar包放到項目的lib目錄中

---------------------------------------------華麗的分割線----------------------------------------

最後 web.xml 內容

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>webDemo</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list>
<servlet><servlet-name>LoginTestServlet</servlet-name><servlet-class>com.test.LoginTestServlet</servlet-class></servlet><servlet-mapping><servlet-name>LoginTestServlet</servlet-name><url-pattern>/loginTestServlet</url-pattern></servlet-mapping></web-app>


java jsp+servlet+mysql實現登入網頁設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.