IDEA实现使用HttpServlet完成假登录

目录

一、JSP注释及脚本

1、注释

2、脚本

二、假登录步骤

 三、JSP执行流程

四、Requset和Response

1、概述

2、Servlet处理HTTP请求的流程

​编辑


一、JSP注释及脚本

1、注释

注释类型
HTML注释
JAVA注释 // 、/* */
JSP注释: <%–注释内容–%>

JSP注释和java脚本中的java注释内容不会展现在网页源码中,而html注释会展现在网页源码中。

            注释快捷键:Ctrl+Shift+/

2、脚本

1)<% java代码 %>:java小脚本 会被翻译到service方法中

2)<%=变量 %>:输出表达式 用于输出内容到页面 会被翻译到service方法中

3)<%! java代码 %>:声明 用于声明全局变量或方法 会被翻译到servlet类中

二、假登录步骤

1、创建web项目,部署到tomcat服务器中

2、在index.jsp首页中添加一个a标签,跳转到登录页面

<%--
  Created by IntelliJ IDEA.
  User: 86177
  Date: 2023/2/13
  Time: 11:12
  To change this template use File | Settings | File Templates.
--%>
<html>
<head>
    <title>Web页面</title>
</head>
<body>
    <h1>欢迎登录</h1>
    <a herf="login">登录 </a> <br>
    <a herf="zhuce">注册</a>
</body>
</html>

3、创建一个login.jsp作为登录页面, 书写form表单指定提交地址和提交方式

1)登录

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录页面</title>
</head>
<body>
    <h2>登录</h2>
    <form action="Login.jsp" method="post">
        账号:<input type="text" name="urse" value=""> <br>
        密码:<input type="text" name="psw" value=""> <br>
        <input type="submit" value="登录">
    </form>
</body>
</html>

2)注册

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册页面</title>
</head>
<body>
    <h2>注册</h2>
    <form action="zhuce.jsp" method="post">
        账号:<input type="text" name="urse" value=""> <br>
        密码:<input type="text" name="psw" value=""> <br>
        <input type="submit" value="注册">
    </form>
</body>
</html>

4、在web.xml中配置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>login</servlet-name>
        <servlet-class>com.cheng.servlet.Login</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

<--================================-->

    <servlet>
        <servlet-name>zhuce</servlet-name>
        <servlet-class>com.cheng.servlet.Zhuce</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>zhuce</servlet-name>
        <url-pattern>/zhuce</url-pattern>
    </servlet-mapping>

</web-app>

5、创建一个Java类继承HttpServlet,在doPost中获取请求参数

package com.cheng.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 Login extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Login-doGet...");
        doPost(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Login-doPost...");

        // 1.从请求中获取用户提交的参数(数据)
        request.setCharacterEncoding("utf-8"); // 设置获取数据的格式
        String urse = request.getParameter("urse"); //根据表单的name属性获取用户输入的账号密码
        String psw = request.getParameter("psw");
        System.out.println(urse);
        System.out.println(psw);

        /*
         2.根据用户提交的用户名和密码---去数据库执行查询
         select * from users where urse=? and psw=?
         假登录*/
        // 3.判断成功要干什么? 判断失败要干什么?---做出响应
        response.setCharacterEncoding("utf-8"); //设置响应的编码格式
        response.setContentType("text/html:charset=UTF-8"); //以什么样的格式(文本/网页)响应textml:charset=UTF-8
        if (urse.equals("222")&&psw.equals("111")){
            // 登陆成功
            response.getWriter().write("登陆成功");
        }else {
            // 登陆失败
            response.getWriter().write("登陆失败");
        }
    }
}

 三、JSP执行流程

1. 客户端发起第一次请求xxx.jsp,服务器就会找到对应的jsp文件

2. 服务器会将jsp文件翻译成xxx_jsp.java

3. 将xxx_jsp.java编译成xxx_jsp.class

4. 服务器执行xxx_jsp.class文件 输出结果给客户端浏览器

四、Requset和Response

1、概述

从编写Servlet的过程中可以看出, doGet)或者doPost()方法中有两个参数,分别是HttpServletRequest和HttpServletResponse, 当执行Servlet的时候会从HttpServletRequest读取请求信息,而将响应信息封装进HttpServletResponse对象中。

2、Servlet处理HTTP请求的流程

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值