web.xml其实就是servlet的一个配置文件,通过这个配置文件来寻找对应的servlet处理业务。
容器通过配置文件web.xml找相应的servlet这样有助于灵活和可维护性。具体用法如下:
<servlet>
<servlet-name>MyServlet </servlet-name> //这里是servlet 的名字,自己定义 的
<servlet-class>Servlet </servlet-class> //这里是servlet的位置 。 如果在 一个包下, 就写 包名.类名
</servlet>
<servlet-mapping>
<servlet-name>MyServlet </servlet-name> //这里跟 上面的;servlet-name 必须一样
<url-pattern>/abc </url-pattern> //这里 在地址 输入访问的 时候 输入的,自己定义
容器通过配置文件web.xml找相应的servlet这样有助于灵活和可维护性。具体用法如下:
<servlet>
<servlet-name>MyServlet </servlet-name> //这里是servlet 的名字,自己定义 的
<servlet-class>Servlet </servlet-class> //这里是servlet的位置 。 如果在 一个包下, 就写 包名.类名
</servlet>
<servlet-mapping>
<servlet-name>MyServlet </servlet-name> //这里跟 上面的;servlet-name 必须一样
<url-pattern>/abc </url-pattern> //这里 在地址 输入访问的 时候 输入的,自己定义
</servlet-mapping>
默认web.xml欢迎页面为index.html
更改web.xml默认欢迎页面:
<welcome-file-list>
<welcome-file>/pages/template/login.jsp</welcome-file>
</welcome-file-list>
welcome-file-list可以转向到servlet,但是,前提是servlet不能有扩展名,否则就当成静态文件处理了
session是什么
HTML中如何输出变量值
$
<form action="loginServlet" method="post"><!-- action写要请求Servlet的名 -->
用户名:<input type="text" id="uname" name="uname"><br><br>
密码:<input type="password" id="pwd" name="pwd"><br><br>
<input type="submit" value="登录">
<input type="reset" value="重置">
</form>
login.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="loginServlet" method="post"><!-- action写要请求Servlet的名 -->
用户名:<input type="text" id="uname" name="uname"><br><br>
密码:<input type="password" id="pwd" name="pwd"><br><br>
<input type="submit" value="登录">
<input type="reset" value="重置">
</form>
</body>
</html>
success.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录成功页面</title>
</head>
<body>
登录成功!${name},${pwd}<form action="loginServlet" method="get"><input type="submit" value="注销登录"></form>
</body>
</html>
loginServlet.jsp
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;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class loginServlet
*/
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public loginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();//获取session
//Object name = session.getAttribute("name");//从session中获取用户名
//Object pwd = session.getAttribute("pwd");//从session获取用户密码
//System.out.println(name+":"+pwd); //测试一下,输出获取的用户名和密码
session.invalidate(); //注销session
response.sendRedirect("login.jsp"); //跳转到login.jsp页面
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// doGet(request, response);
// 设置编码为utf-8
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
// 获取用户名和密码
String name = request.getParameter("uname");
String pwd = request.getParameter("pwd");
// 校验用户名和密码是否正确
if ("admin".equals(name) && "123".equals(pwd)) {// 验证成功
HttpSession session = request.getSession();//获取session
session.setAttribute("name", name);// 将用户名和密码保存在session中
session.setAttribute("pwd", pwd);// 将用户名和密码保存在session中
response.sendRedirect("success.jsp");// 跳转到success.jsp页面
} else {// 校验不成功,则留在跳转到login.jsp页面
response.sendRedirect("login.jsp");
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>