栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaweb

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaweb

一.学习的内容
1.使用Filter实现用户自动登录
2.实现登录页面和首页
3.创建Servlet
3.创建过滤器
4.配置映射文件
5.监听域对象的生命周期
6.监听域对象的属性变更
7.代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" import="java.util.*"%>


用户登录

用户名:    ${errorMsg }
密   码:   
自动登录时间 一个月 三个月 半年 一年
    

(2)

package cn.itcast.chaptre08.entity;

public class User {
private String username;
private String password;
public String getUsername() {
	return username;
}
public void setUsername(String username) {
	this.username = username;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
}

(3)

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" import="java.util.*"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


显示登录的用户信息


	

欢迎光临


用户登录 欢迎您:${sessionScope.user.username} 退出

(4)

package cn.itcast.chaptre08.entity;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//request.setContentType(type);
		//1.获取用户名和密码
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		//定义变量,从数据库中查找
		if("dashuju".equals(username) && "123".equals(password)) {
			User u=new User();
			u.setUsername(username);
			u.setPassword(password);
			request.getSession().setAttribute("user", u);
			
			String autologin=request.getParameter("autologin");
			if(autologin!=null) {
				cookie c =new cookie("autologin",username+"-"+password);
				int time =Integer.parseInt(autologin);
				c.setMaxAge(time);
				c.setPath(request.getContextPath());
				response.addcookie(c);
			
			}
			response.sendRedirect(request.getContextPath()+"index.jsp");
	}else {
		request.setAttribute("errorMsg", "用户名和密码错误");
		RequestDispatcher rd=request.getRequestDispatcher("login.jsp");
		rd.forward(request, response);
	}
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

(5)

package cn.itcast.chaptre08.entity;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Logout extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//1.清除session保存的用户信息
	request.getSession().removeAttribute("user");
	cookie c =new cookie("autologin","");
	c.setMaxAge(0);
	c.setPath(request.getContextPath());
	response.addcookie(c);
	//请求向到主页面
	response.sendRedirect("/chapter08/index.jsp");
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
	}

}

(6)

package cn.itcast.chaptre08.entity;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;


public class AutoLoginfilter implements Filter {

    
    public AutoLoginfilter() {
        // TODO Auto-generated constructor stub
    }

	
	public void destroy() {
		// TODO Auto-generated method stub
	}

	
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		System.out.println("进入filter");
		HttpServletRequest req=(HttpServletRequest)request;
		cookie[] cs=req.getcookies();
		String autoLogin=null;
		
		for(int i=0;cs!=null &&i 

(7)配置映射文件



  chapter08
  
    
    loginServlet
    loginServlet
    cn.itcast.chapter08.filter.loginServlet
  
  
    loginServlet
    /loginServlet
  
  
    
    LogoutServlet
    LogoutServlet
    cn.itcast.chapter08.filter.LogoutServlet
  
  
    LogoutServlet
    /LogoutServlet
  
  
    AutoLoginFilter
    AutoLoginFilter
    cn.itcast.chapter08.filter.AutoLoginFilter
  
  
    AutoLoginFilter
    /*
  
  
    
    LoginServlet
    LoginServlet
    cn.itcast.chaptre08.entity.LoginServlet
  
  
    LoginServlet
    /LoginServlet
  
  
    
    Logout
    Logout
    cn.itcast.chaptre08.entity.Logout
  
  
    Logout
    /Logout
  
  
    
    AutoLoginFilter
    AutoLoginFilter
    cn.itcast.chaptre08.entity.AutoLoginFilter
  
  
    AutoLoginFilter
    /AutoLoginFilter
  
  
    AutoLoginfilter
    AutoLoginfilter
    cn.itcast.chaptre08.entity.AutoLoginfilter
  
  
    AutoLoginfilter
    /AutoLoginfilter
  
  
    
    MyListener
    MyListener
    cn.itcast.chaptre08.entity.MyListener
  
  
    MyListener
    /MyListener
  

(8)

package cn.itcast.chaptre08.entity;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;


public class MyListener implements ServletContextListener,HttpSessionListener,ServletRequestListener{

	public void requestDestroyed(ServletRequestEvent arg0) {
		System.out.println("ServletRequst 对象创建了");
		
	}

	public void requestInitialized(ServletRequestEvent arg0) {
		System.out.println("ServletContextRequst对象被销毁了");
		
		
	}

	public void sessionCreated(HttpSessionEvent arg0) {
		System.out.println("HttpSession对象创建了");
		
	}

	public void sessionDestroyed(HttpSessionEvent arg0) {
		System.out.println("HttpSession 对象被被销毁了");
		
	}

	public void contextDestroyed(ServletContextEvent arg0) {
		System.out.println("ServletContext对象被创建了");
		
	}

	public void contextInitialized(ServletContextEvent arg0) {
		System.out.println("ServletContext 对象被销毁了创建了");
		
	}
	
}

(9)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	测试域对象属性值的页面:
<% application.setAttribute("username","itcast"); application.setAttribute("username", "heima"); application.removeAttribute("username"); session.setAttribute("username","itcast"); session.setAttribute("username","heima"); session.removeAttribute("username"); request.setAttribute("username","itcast"); request.setAttribute("username","heima"); request.removeAttribute("username"); %>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643878.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号