注:假登陆即在Java中模仿数据库进行操作。
思路:
1,以web.xml文件中为核心的Servlet类来处理HTML文件和Java文件使其连接来实现假登陆。
2,Java文件中通过继承HttpServlet类来实现模拟数据库。
一,首先新建一个项目完成Tomcat的配置和jar包的导入(详情请见本专栏上一篇文章)
如图(文件一定不要放错位置,否则会出错)
二,首先完成index.jsp文件代码的编写(网页中的首页)
<%--
Created by IntelliJ IDEA.
User: ThinkPad
Date: 2023/2/15
Time: 16:29
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
</head>
<body>
<!--点击后会前往相应的页面-->
<a href="deng.jsp">去登陆</a>
<a href="zhu.jsp">去注册</a>
</body>
</html>
完成网页样子
三,完成登陆页面
1,在web文件夹中新建一个deng.jsp文件
<%--
Created by IntelliJ IDEA.
User: ThinkPad
Date: 2023/2/15
Time: 16:49
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆</title>
</head>
<body>
<%--deng就是通过servlet容器来调用Java部分代码--%>
<%--post是将输入的数据隐藏,get是不隐藏--%>
<%--创建表单--%>
<form action="deng" method="post">
账号:<input type="text" name="user"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
完成网页样子
四,注册页面与登陆页面一样
<%--
Created by IntelliJ IDEA.
User: ThinkPad
Date: 2023/2/15
Time: 16:51
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<%--deng就是通过servlet容器来调用Java部分代码--%>
<%--post是将输入的数据隐藏,get是不隐藏--%>
<form action="zhu" method="post">
账号:<input type="text" name="user"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
五,编写后端Java部分
1,按图建文件
2,登陆部分
package com.aa.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Deng extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取deng.jsp文件中账号和密码的name属性
req.setCharacterEncoding("utf-8");//解决输入中文时出现乱码问题(请求)
String user = req.getParameter("user");
String pwd = req.getParameter("pwd");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;Charset=UTF-8");//解决输出中文时出现乱码问题(响应)
//通过if来判断输入的账号和密码的正确性
if (user.equals("张三") && pwd.equals("666")) {
resp.getWriter().write("登陆成功");
} else {
resp.getWriter().write("登陆失败");
}
}
}
3,注册部分
package com.aa.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Zhu extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取deng.jsp文件中账号和密码的name属性
String user = req.getParameter("user");
String pwd = req.getParameter("pwd");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");//解决输入中文时出现乱码问题
//通过if来判断输入的账号和密码的正确性
if (user.equals("张三")&&pwd.equals("666")) {
resp.getWriter().write("注册成功");
}else {
resp.getWriter().write("注册失败");
}
}
}
六,编写web.xml核心部分
<?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>
<!--起别名-->
<servlet-name>deng</servlet-name>
<!--java部分文件的路径-->
<servlet-class>com.aa.servlet.Deng</servlet-class>
</servlet>
<!--Servlet的映射-->
<servlet-mapping>
<!--起的别名-->
<servlet-name>deng</servlet-name>
<!--所要跳转的url的名-->
<url-pattern>/deng</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>zhu</servlet-name>
<servlet-class>com.aa.servlet.Zhu</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>zhu</servlet-name>
<url-pattern>/zhu</url-pattern>
</servlet-mapping>
</web-app>
七, 最后运行
输入账号,密码。
账号,密码正确则跳转显示登陆成功,否则跳转显示登陆失败。