当前位置:   article > 正文

Javaweb100-109:JavaWeb(三)

Javaweb100-109:JavaWeb(三)

开始时间:2021-06-30

在线考试管理系统

准备工作

1.创建用户信息表

CREATE TABLE MyUsers(
userId int primary key auto_increment,#用户编号
userName varchar(50),#用户名称
password varchar(50),#用户密码
sex char(1), #用户性别'男′或则'女'
email varchar(50) #用户邮箱
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
insert into MyUsers(userName,password,sex,email)values('JDH','111','男','mike@163.com')
  • 1

2.创建entity.Users 实体类

package Entity;

public class Users {
    private Integer UserId;
    private String UserName;
    private String Password;
    private String sex;
    private String email;
    public Integer getUserId() {
        return UserId;
    }
    public void setUserId(Integer userId) {
        UserId = userId;
    }
    public String getUserName() {
        return UserName;
    }
    public void setUserName(String userName) {
        UserName = userName;
    }
    public String getPassword() {
        return Password;
    }
    public void setPassword(String password) {
        Password = password;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Users() {
    }
    public Users(Integer userId, String userName, String password, String sex, String email) {
        UserId = userId;
        UserName = userName;
        Password = password;
        this.sex = sex;
        this.email = email;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

3.将之前写的JDBC工具类【复用】

package Util;

import java.sql.*;

public class JDBCUtil {
    private Connection con = null;
    private PreparedStatement ps = null;

    //注册Driver,在第一次调用工具类时就加载
    static {
        Driver driver = null;
        try {
        //注意这个地方,之前写没问题,但这里这样写就报了一个乱码错误
              driver = new com.mysql.cj.jdbc.Driver();
            DriverManager.registerDriver(driver);
        //改为下面的方式才恢复
         Class.forName("com.mysql.cj.jdbc.Driver");
      
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }

    //创建connection
    public Connection createCon() {
        String url = "jdbc:mysql://localhost:3306/mysql";
        String user = "root";
        String password = "333";
        try {
            con = DriverManager.getConnection(url, user, password);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return con;
    }

    //2.获取连接
    //封装PreparedStatement对象
    public PreparedStatement createPs(String sql) {
        try {
            Connection con = createCon();
            ps = con.prepareStatement(sql);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return ps;
    }

    public void close() {

        if (ps != null) {
            try {
                ps.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }

    public void close(Connection con) {

        close();

        if (con != null) {
            try {
                con.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }

    public void close(ResultSet rs) {

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        close();
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85

4.在web下WEB-INF下创建lib文件存放mysql的jar包,并设置为library
在这里插入图片描述
在这里插入图片描述

配置好后,我们捋一捋整个通信过程
在这里插入图片描述

最开始是写一个前端页面,从前端中给出请求,通过Http请求包将用户信息【get/post等方法】发送到Tomcat服务器中
Tomcat服务器收到请求包时会自动生成 请求对象【request】和响应对象【response】
这两个对象交给Tomcat下的Servlet对象,

  • 调用对应的方法【例如get】的请求对象【req】读取【请求头】中参数信息。
  • 再调用写好的DAO类将信息以SQL的形式推送到数据库中
  • 响应对象将处理结果以二进制形式写入到Http中,然后销毁掉请求对象和响应对象【卸磨杀驴】
  • Tomcat再把响应协议包推送回浏览器用户端中

添加用户信息

建立Servlet对象

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>UserAddServlet</servlet-name>
        <servlet-class>Controller.UserAddServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>UserAddServlet</servlet-name>
        <url-pattern>/UserAdd</url-pattern>
    </servlet-mapping>
</web-app>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
package Controller;

import Entity.Users;
import dao.UserDao;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;


public class UserAddServlet extends HttpServlet {


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String userName, password, sex, email;
        UserDao dao = new UserDao();
        Users user = null;
        int result = 0;
        PrintWriter out = null;

        userName = request.getParameter("userName");
        password = request.getParameter("password");
        sex = request.getParameter("sex");
        email = request.getParameter("email");


        user = new Users(null, userName, password, sex, email);
        result = dao.add(user);
		//既有文字信息又有HTML页面代码,所以做好解释工作
        response.setContentType("text/html;charset=utf-8");
        out = response.getWriter();
        if (result == 1) {
            out.print("<font style='color:red;font-size:40'>用户信息注册成功</font>");
        } else {
            out.print("<font style='color:red;font-size:40'>用户信息注册失败</font>");
        }
    }

}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

写一个DAO对象处理连接数据库的问题

package dao;

import Entity.Users;
import Util.JDBCUtil;

import java.sql.PreparedStatement;
import java.sql.SQLException;

public class UserDao {`在这里插入代码片`
    private JDBCUtil jdbcUtil = new JDBCUtil();

    //用户注册
    public int add(Users user) {
        String sql = "insert into myusers(UserName,Password,sex,email)" + "values(?,?,?,?)";
        PreparedStatement ps = jdbcUtil.createPs(sql);
        int result = 0;
        try {
            ps.setString(1, user.getUserName());
            ps.setString(2, user.getPassword());
            ps.setString(3, user.getSex());
            ps.setString(4, user.getEmail());
            result = ps.executeUpdate();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            jdbcUtil.close();
        }
        return result;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

准备一下前端页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/TestSystem/UserAdd" method="get">
    <table border="2">
        <tr>
            <td>用户姓名</td>
            <td><input type="text" name="userName"/></td>
        </tr>
        <tr>
            <td>用户密码</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr>
            <td>用户性别</td>
            <td><input type="radio" name="sex" value=""/><input type="radio" name="sex" value=""/></td>
        </tr>
        <tr>
            <td>用户邮箱</td>
            <td><input type="text" name="email"/>
            </td>
        </tr>
        <tr>
            <td><input type="submit" value="用户注册"/>
            <td><input type="reset"/>
            </td>
        </tr>
    </table>
</form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

测试一下
在这里插入图片描述
在这里插入图片描述
用户注册
在这里插入图片描述

查询用户信息

梳理一下通信过程
在这里插入图片描述

在UserDAO里面添加find功能
查询得到的数据打包到一个list

public List findAll() {
        String sql = "select * from myusers";
        PreparedStatement ps = jdbcUtil.createPs(sql);
        ResultSet rs = null;
        List<Users> userlist = new ArrayList();

        try {
            rs = ps.executeQuery();
            while (rs.next()) {
                Integer userId = rs.getInt("userId");
                String userName = rs.getString("userName");
                String password = rs.getString("password");
                String sex = rs.getString("sex");
                String email = rs.getString("email");
                //直接放到user类里面
                Users user = new Users(userId, userName, password, sex, email);
                userlist.add(user);
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            jdbcUtil.close(rs);
        }
        return userlist;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

FindServlet里面对拿到的数据做解析

package Controller;

import Entity.Users;
import dao.UserDao;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

public class UserFindServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserDao userDao = new UserDao();
        //调用DAO将查询命令推送到数据库服务器上,得到所有用户信息【list】
        List<Users> userList = userDao.findAll();
        //调用响应对象,将用户信息推回响应体中
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out = resp.getWriter();
        out.print("<table border='2' align='center'>");
        out.print("<tr>");
        out.print("<td>用户编号</td>");
        out.print("<td>用户姓名</td>");
        out.print("<td>用户密码</td>");
        out.print("<td>用户性别</td>");
        out.print("<td>用户邮箱</td>");
        out.print("</tr>");
        for (Users user : userList
        ) {
            out.print("<tr>");
            out.print("<td>" + user.getUserId() + "</td>");
            out.print("<td>" + user.getUserName() + "</td>");
            out.print("<td>******</td>");
            out.print("<td>" + user.getSex() + "</td>");
            out.print("<td>" + user.getEmail() + "</td>");
            out.print("</tr>");
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

这里主要注意输出格式的问题,也就是前端功底
在这里插入图片描述
得到输出结果,这里和上面的乱码问题都没有解决,后续再查查如何解决
(2021-09-05注:应该是新建Project的时候选择了Gradle,选择Maven就不会报错)
用户信息查询在这里插入图片描述

组装简单前端页面

左侧

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    <li>用户信息管理
        <ol>
            <li><a href="/TestSystem/user_Add.html" target="right">用户信息注册</a></li>
            <li><a href="/TestSystem/UserFind" target="right">用户信息查询</a></li>
        </ol>
    </li>
    <li>试题信息管理</li>
    <li>考试管理</li>
</ul>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

顶部

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body style="background-color: black">
<center>
    <font style="color:white;font-size:45px">锦到黑在线考试管理系统</font>
</center>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

导航页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<frameset rows="15%,85%">
    <frame name="top" src="/TestSystem/MyTop.html"/>
    <frameset cols="15%,85%">
        <frame name="left" src="/TestSystem/MyLeft.html"/>
        <frame name="right">
    </frameset>
</frameset>
</html>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

添加删除功能

写一个Servlet类

package Controller;

import dao.UserDao;

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

public class UserDeleteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userId;
        userId = req.getParameter("UserId");
        int result = 0;
        //调用请求对象,读取请求头的参数(用户编号)
        UserDao userDao = new UserDao();
        //调用DAO将用户编号填充到delete命令,发送到数据库中
        result = userDao.delete(userId);
        //调用响应对象,将处理结果写入响应体,推送给浏览器

        resp.setContentType("text/html");
        resp.setCharacterEncoding("UTF-8");

        PrintWriter out = resp.getWriter();
        if (result == 1) {
            out.print("<font style='color:red;font-size:40'>用户信息删除成功</font>");
        } else {
            out.print("<font style='color:red;font-size:40'>用户信息删除失败</font>");
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

对应配置一下web.xml
并在DAO类中添加方法

public int delete(String UserId) {
        String sql = "delete from myusers where UserId=?";
        PreparedStatement ps = jdbcUtil.createPs(sql);
        int result = 0;
        try {
            ps.setInt(1, Integer.valueOf(UserId));
            result = ps.executeUpdate();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            jdbcUtil.close();
        }
        return result;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

选择在Add的界面中添加删除选项

for (Users user : userList
        ) {
            out.print("<tr>");
            out.print("<td>" + user.getUserId() + "</td>");
            out.print("<td>" + user.getUserName() + "</td>");
            out.print("<td>******</td>");
            out.print("<td>" + user.getSex() + "</td>");
            out.print("<td>" + user.getEmail() + "</td>");
            out.print("<td><a href='/TestSystem/UserDel?UserId=" + user.getUserId() + "'>删除用户</a></td>");
            out.print("</tr>");
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
用户信息删除
在这里插入图片描述

登录验证

写一个loginServlet

package Controller;

import dao.UserDao;

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

public class UserLoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userName;
        String password;
        int result = 0;
        req.setCharacterEncoding("utf-8");
        userName = req.getParameter("userName");
        password = req.getParameter("password");
        UserDao userDao = new UserDao();
        result = userDao.login(userName, password);

        resp.setContentType("text/html");
        resp.setCharacterEncoding("UTF-8");

        if (result == 1) {
        //验证成功,跳转主界面
            resp.sendRedirect("/TestSystem/Navicat.html");
        } else {
        //验证失败,跳转错误信息提示界面
            resp.sendRedirect("/TestSystem/user_loginError.html");
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

再把Servlet类写进web.xml

<servlet>
        <servlet-name>UserLoginServlet</servlet-name>
        <servlet-class>Controller.UserLoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>UserLoginServlet</servlet-name>
        <url-pattern>/UserLogin</url-pattern>
    </servlet-mapping>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

补充DAO类

 public int login(String UserName, String Password) {
        int result = 0;
        String sql = "select count(*) from myusers where UserName=? and Password=?";
        PreparedStatement ps = jdbcUtil.createPs(sql);
        ResultSet rs = null;
        try {
            ps.setString(1, UserName);
            ps.setString(2, Password);
            rs = ps.executeQuery();
            while (rs.next()) {
                result = rs.getInt("count(*)");
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            jdbcUtil.close();
        }
        return result;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

写一个前端登录界面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<center>
    <form action="/TestSystem/UserLogin" method="post">

        <table border="2">
            <tr>
                <td>用户姓名</td>
                <td><input type="text" name="userName"/></td>
            </tr>
            <tr>
                <td>用户密码</td>
                <td><input type="password" name="password"/></td>
            </tr>

            <tr>
                <td><input type="submit" value="用户登录"/></td>
                <td><input type="reset"/>
                </td>
            </tr>
        </table>

    </form>
</center>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

再写一个报错的界面

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<center>
  <font style="color:red;font-size: 30px">登录信息不存在,请重新登录</font>
  <form action="/TestSystem/UserLogin" method="post">

    <table border="2">
      <tr>
        <td>用户姓名</td>
        <td><input type="text" name="userName"/></td>
      </tr>
      <tr>
        <td>用户密码</td>
        <td><input type="password" name="password"/></td>
      </tr>

      <tr>
        <td><input type="submit" value="用户登录"/></td>
        <td><input type="reset"/>
        </td>
      </tr>
    </table>

  </form>
</center>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

在这里插入图片描述

输入数据库中的账号和密码,可以进入操作界面
输入错误密码
在这里插入图片描述
输入正确账号
在这里插入图片描述

用户发送了一个针对某个网站的【默认请求】时,
此时由Http服务器自动从当前网站返回的资源文件
正常请求:http:/ /localhost:8080/TestSystem/index.html
默认请求: http:/ /localhost:8080/TestSystem/
3. Tomcat对于默认欢迎资源文件定位规则
1)规则位置:Tomcat安装位置/conf/web.xml
2)规则命令:
从上往下查找,有的话就跳转,没有就往下走,往下走的文件还没有,就返回404

<welcome-file-list>
 <welcome-file>index.html</welcome-file> 
 <welcome-file>index.htm</welcome-file>
 <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
  • 1
  • 2
  • 3
  • 4
  • 5

4.设置当前网站的默认欢迎资源文件规则
1)规则位置:在/web/WEB-INF/web.xml下面书写规则命令
2)规则命令:

<welcome-file-list>
<welcome-file>user_login.html</welcome-file>
</welcome-file-list>
  • 1
  • 2
  • 3

此时弹出的就直接是登录界面了
在这里插入图片描述
当然也可以直接跳转Servlet动态资源

此时记得要去掉开头的斜杠

<welcome-file-list>
<welcome-file>TestSystem/UserLogin</welcome-file>
</welcome-file-list>
  • 1
  • 2
  • 3

结束时间:2021-07-03

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/992663
推荐阅读
相关标签
  

闽ICP备14008679号