java web实现自动登录功能

网友投稿 422 2023-03-24


java web实现自动登录功能

本文实例为大家分享了java web实现自动登录功能的具体代码,供大家参考,具体内容如下

主要思路就是:当用户访问网站的首页时,浏览器端会先检擦浏览器中存在的cookie中是否又登录的用户的用户名,如果有,则直接跳转至用户登录好的界面,如果没有,则重定向至登录界面,在服务器端创建该用户登录的cookie,响应时,将创建的cookie返回至浏览器端保存。

一、用户访问首页时检查cookie是否存在。

package ahpudong.com;

import java.io.IOException;

import java.io.PrintWriter;

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.HLyrfKttpServletResponse;

@WebServlet("/index.do")

publhttp://ic class index extends HttpServlet {

public index() {

super();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Cookie[] cookies=request.getCookies();

if(cookies!=null){

for(Cookie cookie:cookies){

String name=cookie.getName();

String value=cookie.getValue();

if("name".equals(name) && "chendong".equals(value)){

request.setAttribute(name, value);

request.getRequestDispatcher("user.view").forward(request, response);

return;

}

}

}

response.sendRedirect("login.jsp");

}

}

二、确定用户登录的cookie不存在,在手动登录的过程中创建用户登录cookie。

package ahpudong.com;

import java.io.IOException;

import java.io.PrintWriter;

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;

@WebServlet("/login.do")

public class login extends HttpServlet {

public login() {

super();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

String name=request.getParameter("name");

String pwd=request.getParameter("pwd");

String login=request.getParameter("auto");

if("chendong".equals(name) && "123456".equals(pwd)){

if("on".equals(login)){

Cookie cookie=new Cookie("name","chendong");

cookie.setMaxAge(7*24*60*60);//有效期为一个星期

response.addCookie(cookie);

request.setAttribute("name",name);

request.getRequestDispatcher("user.view").forward(request, response);

}

}else{

response.sendRedirect("login.jsp");

}

}

}

三、登录成功时的视图层

package ahpudong.com;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

@WebServlet("/user.view")

public class User extends HttpServlet {

public User() {

super();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request,response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request,response);

}

public void processRequest(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException{

response.setCharacterEncoding("utf-8");

PrintWriter out=response.getWriter();

String name=(String) request.getAttribute("name");

out.println(" ");

out.println("");

out.println("

out.println("

out.println("

out.println(" ");

out.println("");

out.flush();

out.close();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于ScheduledExecutorService的两种方法(详解)
下一篇:好看的api接口管理平台(api接口网站)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~