使用HttpServlet完成一个假登陆

一、HttpServlet简介

        HttpServlet是Servlet接口的一个实现类,并且它是一个抽象类,servlet.http包中定义了采用HTTP通信协议(一个无状态协议)的HttpServlet类。

二、

第一步:首先创建一个web项目,先写出需要用的三个页面:

​ 

 在web文件夹中新建三个jsp文件:

第一个页面:

<html>
  <head>
    <title>sky</title>
  </head>
  <body>
  <p>请选择您的登录方式</p>
  <a href="One.jsp">登录</a>
  <a href="#">注册</a>
  <a href="#">直接进入</a>
  </body>
</html>

第二个页面:

<html>
<head>
    <title>sky</title>
</head>
<body>
<form action="sky.jsp" method="post">
    <p>请登录您的sky账号</p>
    账号:<input type="text" name="name" value=""><br/>
    密码:<input type="password" name="pwd" value=""><br/>
    <input type="submit" value="登录">
</form>

</body>
</html>

 第三个页面:

<html>
<head>

    <title>sky</title>
</head>
<body >

//这个页面不需要写入代码,由第二个页面发送请求后相应的结果
</body>
</html>

第二步、完成java类的书写:

        注意:在书写java类之前需要确保相应的jar包已经导入

        在src文件下新建一个包,在包中新建一个java类(继承HttpServlet 并实现doGet和doPost方法):

  • 其中req参数是前端传输来到数据
  • resp参数是响应的数据

HttpServlet的一些方法: 

  •         getParameter() 根据表单的ame属性获取用户输入的值
  •         getRequestURI()获取项目名和资源路径
  •         getContextPath()获取项目名称
  •         getServletPath()请求的资源路径        
package com;

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.net.HttpRetryException;

public class ServletWeb 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 IOException,ServletException{
        //用于识别中文
        req.setCharacterEncoding("utf-8");
        //接收前端发送来的数据   括号中填写name属性的值
        String name = req.getParameter("name");
        String password = req.getParameter("pwd");
        //在控制台打印出来
        System.out.println(name);
        System.out.println(password);
        //更改响应的数据识别中文
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=UTF-8");
        //进行判断
       if (name.equals("qwe")&&password.equals("qwe")){
            //在页面中响应     可以写入html
            resp.getWriter().write("<h2>登录成功</h2>");

       }else{
           resp.getWriter().write("登录失败");
       }
    }
}

第三步:书写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-name>denglu</servlet-name>
        <servlet-class>com.ServletWeb</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>denglu</servlet-name>
        <url-pattern>/sky.jsp</url-pattern>
    </servlet-mapping>

</web-app>

 完成之后运行即可;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晗晗想吃烤鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值