0
点赞
收藏
分享

微信扫一扫

JavaWeb.21.过滤器与监听器

杏花疏影1 2022-04-24 阅读 64
eclipse

监听器

1.servletContextListener

2.HttpSessionListener

3.ServletRequestListener

作用: 能够针对创建和销毁定义不同的行为

过滤器 Filter

精准匹配 /a.jsp

扩展名匹配 *.jsp

路径匹配 /manager/*

匹配所有 /* 

<%--
  User: hgh
  Date: 2022/4/22
  Time: 16:56
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>当前在线人数:${onLineCount}</h1>
<h3><a href="exit.do">退出</a></h3>
<h3><a href="admin_a.jsp">管理员A界面</a></h3>
<h3><a href="admin_b.jsp">管理员B界面</a></h3>
<h3><a href="tourists.jsp">游客界面</a></h3>
<c:if test="${isLogin==null}">
    <form action="login.do" method="post">
        <input type="text" name="name" placeholder="请输入名字">
        <br>
        <input type="text" name="pwd" placeholder="请输入密码">
        <br>
        <button>登录</button>
    </form>
</c:if>
<c:if test='${isLogin==""}'>
    <h1>欢迎登录</h1>
</c:if>
${isLogin}
</body>
</html>

 index界面

package com.zking.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LoginServlet implements Servlet{

	@Override
	public ServletConfig getServletConfig() {
		//得到配置
		return null;
	}

	@Override
	public String getServletInfo() {
		//得到信息
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		//初始化  这个servlet被别个访问的
		System.out.println("初始化了");
	}

	@Override
	public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
		//服务 访问的时候他来提供信息
		
		
		//request:请求[获取用户带过来的数据]
		//response:响应[给用户输出信息]
		
		//乱码
		req.setCharacterEncoding("utf-8");
		//获取信息
	String username=req.getParameter("username");
	String userpwd=req.getParameter("userpwd");
	//获取输出对象
	resp.setCharacterEncoding("gbk");
    PrintWriter out=resp.getWriter();
	
  //判断逻辑
	if("root".equals(username)&&"root123".equals(userpwd)) {
		//显示在页面中【登录成功】
		out.print("登录成功");
	   }else {
		 //显示在页面中【登录失败】
		   out.print("登录失败");
	   }
	
	}


	@Override
	public void destroy() {//销毁
		// 
		//1.你更新了serlet代码
		//2.服务器关闭
		System.out.println("我销毁了");
	}

	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

LoginServlet界面

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>servlet</display-name>
  
  <!--welcome-file-list 欢迎界面 -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- servlet配置 -->
<servlet>
<!-- 取一个别名 -->
  <servlet-name>login</servlet-name>
  <!-- 类在哪里? -->
  <servlet-class>com.zking.servlet.LoginServlet</servlet-class>
</servlet>
  
  <!-- 配置servlet的访问路径 -->
  <servlet-mapping>
  <!-- 需要一个名字 -->
  <servlet-name>login</servlet-name>
  <url-pattern>/login.do</url-pattern>
  </servlet-mapping>
  
  
  
  
  
</web-app>

web.xml界面

举报

相关推荐

0 条评论