监听器
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界面