摘要:項目結構代碼如下登錄接收內容接收內容保存返回信息用戶不能為空密碼不能為空報錯信息為進行驗證登錄成功增加會話登錄失敗使用服務器端跳轉保存數據對于登錄的增加了過濾器如下首頁過濾器轉型因為默認的中未提供相關的方法需要向下轉型獲取到判斷登錄已經登
項目結構
![](https://melovemingming-125387...
)
package com.ming.servlrt; import com.ming.factory.DAOFactory; import com.ming.vo.User; 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 java.io.IOException; import java.util.ArrayList; import java.util.List; public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String path = "login.jsp"; // 接收userid內容 String userid = req.getParameter("userid"); // 接收userpass內容 String userpadd = req.getParameter("userpass"); // 保存返回信息 Listinfo = new ArrayList (); if(userid == null || "".equals(userid)){ info.add("用戶id不能為空"); } if(userpadd == null || "".equals(userpadd)){ info.add("密碼不能為空"); } // 報錯信息為0進行驗證 if(info.size() == 0){ User user = new User(); user.setUserid(userid); user.setPassword(userpadd); try{ if(DAOFactory.getIuserDAOInstance().findLogin(user)){ info.add("登錄成功!" + user.getName()); // 增加session會話 HttpSession session = req.getSession(); session.setAttribute("id", userid); }else{ info.add("登錄失敗"); } }catch (Exception e){ e.printStackTrace(); } } // 使用服務器端跳轉, 保存數據 req.setAttribute("info", info); req.getRequestDispatcher(path).forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } }
對于登錄的servlet增加了session
過濾器如下package com.ming.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; // 首頁過濾器 public class LoginFile implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { // 轉型 因為默認的ServletRequest中未提供相關的方法,需要向下轉型 HttpServletRequest request = (HttpServletRequest)servletRequest; // 獲取到session HttpSession session = request.getSession(); // 判斷登錄 if(session.getAttribute("id") != null){ // 已經登錄 filterChain.doFilter(servletRequest, servletResponse); }else{ // 跳轉登錄頁登錄 request.getRequestDispatcher("login.jsp").forward(servletRequest, servletResponse); } } @Override public void destroy() { } }配置文件如下
jsp文件如下Archetype Created Web Application LoginFile com.ming.filter.LoginFile LoginFile /index.jsp login com.ming.servlrt.LoginServlet login /loginServlet
涉及 前端的js驗證
采用攔截click事件
<%@ page import="java.util.List" %> <%@ page import="java.util.Iterator" %><%-- Created by IntelliJ IDEA. User: ming Date: 19-3-16 Time: 下午11:07 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>Title 用戶登錄程序
<% Listinfo = (List )request.getAttribute("info"); if(info != null){ Iterator iterator = info.iterator(); while(iterator.hasNext()){ %> <%=iterator.next()%>
<% } } %>
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73748.html
摘要:實栗實現登錄實現思路一個表單頁,輸入用戶登錄和密碼,然后信息提交到頁面進行驗證,如果可以服務器跳轉到登錄成功頁,失敗,跳轉到錯誤頁跳轉的時候窗口的地址會發生變化代碼如下編寫登錄代碼登錄登錄登錄操作用戶登錄登錄登錄密碼登錄重置登錄處理 jsp 實栗 jsp + jdbc 實現登錄 實現思路 一個表單頁,輸入用戶登錄和密碼,然后信息提交到jsp頁面進行驗證,如果可以服務器跳轉到登錄成功頁,...
摘要:實現思路常見的流程是標準的即登錄表單用戶提交數據到登錄檢查若登錄檢查通過以后觸發事件保存進入在線人員列表中頁面跳轉到在線用戶列表若用戶注銷從在線列表中刪除代碼如下使用集合即集合去重原因內部存儲為的鍵值對為由于哈希表的特征即可去重項目結構 實現思路 常見的流程是,標準的mvc 即 登錄表單,用戶提交數據到登錄檢查,若登錄檢查通過以后,觸發session事件,保存進入在線人員列表中,頁面跳...
摘要:原文鏈接基于怎么設計用戶權限控制前言有人說,每個人都是平等的也有人說,人生來就是不平等的在人類社會中,并沒有絕對的公平,一件事,并不是所有人都能去做一樣物,并不是所有人都能夠擁有。 原文鏈接:BlueSun | 基于RESTful API 怎么設計用戶權限控制? 前言 有人說,每個人都是平等的;也有人說,人生來就是不平等的;在人類社會中,并沒有絕對的公平,一件事,并不是所有人都能去做;...
閱讀 3968·2021-11-16 11:44
閱讀 5189·2021-10-09 09:54
閱讀 2031·2019-08-30 15:44
閱讀 1678·2019-08-29 17:22
閱讀 2753·2019-08-29 14:11
閱讀 3389·2019-08-26 13:25
閱讀 2324·2019-08-26 11:55
閱讀 1595·2019-08-26 10:37