使用IDEA实现HttpServlet的假登陆

注:假登陆即在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>

七, 最后运行

输入账号,密码。

 账号,密码正确则跳转显示登陆成功,否则跳转显示登陆失败。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值