最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)登錄案例

 更新時間:2019年08月22日 14:26:52   作者:以何問心  
這篇文章主要為大家詳細介紹了java實現(xiàn)登錄案例的相關(guān)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現(xiàn)登錄案例的具體代碼,供大家參考,具體內(nèi)容如下

一、環(huán)境搭建

JDK1.8  + Tomcat1.8

二、目錄結(jié)構(gòu)

三、代碼示例

3.1、fail.html頁面

<!DOCTYPE html>
<html>
<head>
<title>faill.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
<!--<link rel="stylesheet" type="text/css" href="./styles.css" rel="external nofollow" rel="external nofollow" >-->
 
</head>
 
<body>
 <font color='red' size='3'>親, 你的用戶名或密碼輸入有誤!請重新輸入!</font>
 <br />
 <a href="/project03/login.html" >返回登錄頁面</a>
</body>
</html>

3.2、Login.htm頁面

<!DOCTYPE html>
<html>
<head>
<title>Login.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css" >-->
</head>
<body>
 <form action="/project03/LoginServlet" method="post">
 用戶名:<input type="text" name="UserName" /><br />
 密&nbsp;&nbsp;&nbsp;&nbsp;碼:<input type="password" name="UserPwd" /><br />
 <input type="submit" value="登錄" />
 </form>
</body>
</html>

3.3、IndexServlet.java

package cn.itcase.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
/**
 * 用戶主頁邏輯
 * */
public class IndexServlet extends HttpServlet {
 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 
 // 設(shè)置編碼格式 
 response.setContentType("text/html;charset=utf-8");// setContentType設(shè)置瀏覽器的編碼格式
 
 // 1.信息輸出至瀏覽器
 PrintWriter writer = response.getWriter();
 String html = "";
 
 /**
 * 接收request域?qū)ο蟮臄?shù)據(jù) String loginName =
 * (String)request.getAttribute("loginName",userName);
 * 
 */
 
 /**
 * 在用戶主頁,判斷session對象不為空且存在指定的屬性則登錄成功 才能訪問資源。從session域?qū)ο笾腥〕鰰挃?shù)據(jù)
 * 
 * 
 * */
 // 2.得到session對象
 HttpSession session = request.getSession(false);
 // 2.1如果不存在session對象,登錄不成功,跳轉(zhuǎn)到登錄頁面
 if (session == null) {
 response.sendRedirect(request.getContextPath()
 + "/Login.html");
 return;
 }
 // 2.2沒有在session對象域中找到相應(yīng) session唯一標識ID 則登錄不成功,跳轉(zhuǎn)到登錄頁面
 String loginName = (String) session.getAttribute("loginName");
 if (loginName == null) {
 response.sendRedirect(request.getContextPath() + "/Login.html");
 return;
 }
 html = "<html><body>歡迎回來," + loginName + ",<a href='"
 + request.getContextPath()
 + "/LogoutServlet'>安全退出</a></body></html>";
 writer.write(html);
 }
 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 
 doGet(request, response);
 }
 
}

3.4、LoginServlet.java

package cn.itcase.servlet;
 
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
 * 登錄的邏輯
 * 設(shè)置編碼格式
 * 根據(jù)參數(shù)名獲取參數(shù)值
 * 判斷邏輯(使用session域?qū)ο螅?
 * 
 * 
 */
public class LoginServlet extends HttpServlet {
 protected void doGet(HttpServletRequest request,
 HttpServletResponse response) throws ServletException, IOException {
 // 設(shè)置編碼格式
 request.setCharacterEncoding("utf-8");// setCharacterEncoding設(shè)置服務(wù)器的編碼格式
 
 // 1.根據(jù)參數(shù)名獲取參數(shù)值
 String userName = request.getParameter("UserName");
 String userPwd = request.getParameter("UserPwd");
 
 // 2.登錄是否的邏輯判斷
 if("eric".equals(userName) && "123456".equals(userPwd)){
 /**分析使用技術(shù):
 * context域?qū)ο螅翰缓线m,可能會覆蓋數(shù)據(jù)
 * request.setAttribute("loginName",userName);
 * 
 * request域?qū)ο螅翰缓线m,整個網(wǎng)站必須得使用轉(zhuǎn)發(fā)技術(shù)來跳轉(zhuǎn)
 * request.getRequestDispatcher("/IndexServlet").forward(request,response);
 * 
 * session域?qū)ο螅汉线m
 * response.sendRedirect(request.getContextPath()+"/IndexServlet")
 * */
 //2.1 登錄成功
 // 2.1.1創(chuàng)建session對象 用于保存數(shù)據(jù)
 HttpSession session = request.getSession();
 
 // 2.1.1把數(shù)據(jù)保存到session域中
 session.setAttribute("loginName", userName); // session對象的唯一標識"loginName" 唯一標識名稱 userName
 //session.setMaxInactiveInterval(1*60*60*24*30); // session對象的有效時長 可以配置全局的有效時長
 
 //2.1.3跳轉(zhuǎn)到用戶主頁
 response.sendRedirect(request.getContextPath() + "/IndexServlet"); //sendRedirect()重定向 getContextPath()請求路徑
 }else{
 //2.2登錄失敗 請求重定向
 response.sendRedirect(request.getContextPath() + "/fail.html");
 }
 }
 
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setCharacterEncoding("utf-8");
 doGet(request,response);
 }
 
}

3.5、LogoutServlet.java

package cn.itcase.servlet;
 
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 /**
 * 退出邏輯
 * */
public class LogoutServlet extends HttpServlet {
 
 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 /**
 * 安全退出
 * 刪除session對象中指定的loginName屬性即可
 * 
 */
 HttpSession session = request.getSession(false);
 if(session != null){
 session.removeAttribute("loginName");
 }
 //返回登錄頁面
 response.sendRedirect(request.getContextPath() + "/Login.html");
 }
 
 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 doGet(request,response);
 
 
 }
 
}

3.6、總結(jié)

知道了如何實現(xiàn)前端頁面與后端的數(shù)據(jù)交互

疑惑:如果有多個用戶難道還一個一個的去判斷他存不存在么?

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • RocketMQ?Push?消費模型示例詳解

    RocketMQ?Push?消費模型示例詳解

    這篇文章主要為大家介紹了RocketMQ?Push?消費模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    這篇文章主要介紹了springboot如何引入外部yml配置文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringMVC使用ResponseEntity實現(xiàn)文件上傳下載

    SpringMVC使用ResponseEntity實現(xiàn)文件上傳下載

    這篇文章主要為大家介紹了SpringMVC使用ResponseEntity實現(xiàn)文件上傳下載,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 淺談Java中Spring Boot的優(yōu)勢

    淺談Java中Spring Boot的優(yōu)勢

    在本篇文章中小編給大家分析了Java中Spring Boot的優(yōu)勢以及相關(guān)知識點內(nèi)容,興趣的朋友們可以學(xué)習(xí)參考下。
    2018-09-09
  • java動態(tài)代理(jdk與cglib)詳細解析

    java動態(tài)代理(jdk與cglib)詳細解析

    靜態(tài)代理:由程序員創(chuàng)建或特定工具自動生成源代碼,再對其編譯。在程序運行前,代理類的.class文件就已經(jīng)存在了
    2013-09-09
  • 使用java的注解(用在java類的方法上的注解)方法

    使用java的注解(用在java類的方法上的注解)方法

    這篇文章主要介紹了使用java的注解(用在java類的方法上的注解)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 基于Springboot+Mybatis對數(shù)據(jù)訪問層進行單元測試的方式分享

    基于Springboot+Mybatis對數(shù)據(jù)訪問層進行單元測試的方式分享

    本文將介紹一種快高效、可復(fù)用的解決測試方案——對數(shù)據(jù)訪問層做單元測試,文章通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-07-07
  • 詳解SpringBoot通用配置文件(不定時更新)

    詳解SpringBoot通用配置文件(不定時更新)

    這篇文章主要介紹了SpringBoot通用配置文件詳解(不定時更新),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • java客戶端Jedis操作Redis Sentinel 連接池的實現(xiàn)方法

    java客戶端Jedis操作Redis Sentinel 連接池的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨ava客戶端Jedis操作Redis Sentinel 連接池的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解Maven項目缺少Maven Dependencies解決方法總結(jié)

    詳解Maven項目缺少Maven Dependencies解決方法總結(jié)

    這篇文章主要介紹了詳解Maven項目缺少Maven Dependencies解決方法總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論

册亨县| 大埔县| 安龙县| 高台县| 营山县| 新乡县| 鲁甸县| 古蔺县| 边坝县| 板桥市| 明光市| 阳江市| 苍山县| 彰化县| 五原县| 靖宇县| 长宁县| 大足县| 鹤峰县| 元氏县| 康定县| 增城市| 家居| 定安县| 灌云县| 五莲县| 夏邑县| 襄汾县| 肥东县| 黄冈市| 武平县| 和林格尔县| 南木林县| 温州市| 二连浩特市| 左云县| 东乌珠穆沁旗| 河西区| 洛扎县| 合阳县| 九龙坡区|