day18

代碼

package controller;

import java.io.IOException;

import java.sql.SQLException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import domain.User;

import model.UserModel;

/**

* Servlet implementation class LoginServlet

*/

@WebServlet("/LoginServlet")

public class LoginServlet extends HttpServlet {

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

? ? request.setCharacterEncoding("UTF-8");

? try {

? String username = request.getParameter("username");

? String password = request.getParameter("password");

? User user = new User();

? user.setUsername(username);

? user.setPassword(password);

? String checkcode1 = request.getParameter("checkckcode");

? String checkcode2 = (String) request.getSession().getAttribute("checkcode");

? request.getSession().removeAttribute("checkcode");

? if(!checkcode1.equalsIgnoreCase(checkcode2)) {

? ? request.setAttribute("msg", "驗(yàn)證碼輸入錯(cuò)誤!");

? ? request.getRequestDispatcher("/login.jsp").forward(request, response);

? ? return;

? }

}

? UserModel userModel = new UserModel();

? User existUser = userModel.login(user);

? if(existUser == null) {

? ? //登錄失敗

? ? request.setAttribute("msg", "用戶名或密碼錯(cuò)誤!");

? ? request.getRequestDispatcher("/login.jsp").forward(request, response);

? }else {

? ? //登錄成功

? ? HttpSession session = request.getSession();

? ? session.setAttribute("existUser", existUser);

? ? String remember = request.getParameter("remember");

? ? if("true".equals(remember)) {

? ? Cookie cookie = new Cookie("remember",existUser.getUsername());

? ? cookie.setPath("/web03");

? ? cookie.setMaxAge(60*60*24);

? ? response.addCookie(cookie);

? ? }

? ? response.sendRedirect("/web03/success.jsp");

? }

? } catch (SQLException e) {

? e.printStackTrace();

? throw new RuntimeException();

? }

?

}

?


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

? doGet(request, response);

}


}

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

? ? pageEncoding="ISO-8859-1"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="ISO-8859-1">

<title>Insert title here</title>

<script type="text/javascrpit">

? function changeImg(){

document.getElementById("img1").src = "/web03/CheckImgServler?time" + new Date().getTime();

}

</script>

</head>

<%

? String msg = "";

? if(request.getAttribute("msg") !=null){

? ? msg = (String)request.getAttribute("msg");

? }

%>

<body>

<h1>登錄頁(yè)</h1>

<from action="/web03/LoginServlet" method="post">

<h3><font color="red"><%= msg %></h3>

<table border="1" width="400">

? ? <tr>

? ? <td>用戶名</td>

? ? <ts><input type="text" name="username" value="${ cookie.remember.value} }"></ts>

? ? </tr>

? ? <tr>

? ? <td>密碼</td>

? ? <td><input type="password" name="password"></td>

? ? </tr>

? ? <tr>

? ? <td>驗(yàn)證碼</td>

? ? <td>

? ? <input type="text" name="checkcode" size="6">

? ? < img id="img1" src="/web03/CheckImgServelt">

? ? < a href=" " onclick="changeImg">看不清,換一張</ a>

? ? </tr>

? ? </table>

</body>

</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文包括:1、Listener簡(jiǎn)介2、Servlet監(jiān)聽(tīng)器3、監(jiān)聽(tīng)三個(gè)域?qū)ο髣?chuàng)建和銷毀的事件監(jiān)聽(tīng)器4、監(jiān)聽(tīng)三個(gè)域?qū)?..
    廖少少閱讀 6,650評(píng)論 6 28
  • 一套完整的登陸注冊(cè)業(yè)務(wù)邏輯 準(zhǔn)備部分基礎(chǔ)工具類Basepackage com.jericho.tools;impo...
    JerichoPH閱讀 2,550評(píng)論 0 9
  • Spring MVC進(jìn)階1、使用注解的controller與實(shí)現(xiàn)接口的controller不是同一個(gè)2、dispa...
    洛杉磯嘚凌晨閱讀 305評(píng)論 0 0
  • 完成商城中User相關(guān)服務(wù) 技術(shù)總結(jié) 1. 數(shù)據(jù)庫(kù)的實(shí)體之間關(guān)系 1:1 例如一個(gè)訂單表對(duì)應(yīng)有一個(gè)訂單詳情表 1:...
    開(kāi)發(fā)猛男閱讀 186評(píng)論 0 0
  • package controller; import java.io.IOException; import ja...
    猶記多情_(kāi)d603閱讀 175評(píng)論 0 0

友情鏈接更多精彩內(nèi)容