JavaWeb(用IDEA设计登录页面,完成假登录)

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

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

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

 4.在web.xml中配置servlet的映射关系

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

package com.wen.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 req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Login....doGet");
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Login...doPost");
        //req用来处理请求  resp用来处理响应

        //获取请求地址的四个方法
        String requestURI = req.getRequestURI();//项目名称/资源名称
        StringBuffer requestURL = req.getRequestURL();//完整的请求地址
        String contextPath = req.getContextPath();//项目名称
        String servletPath = req.getServletPath();//资源名称

        System.out.println(requestURI);
        System.out.println(requestURL);
        System.out.println(contextPath);
        System.out.println(servletPath);

        //1.获取请求的参数:根据请求参数的name属性获取提交的值
        req.setCharacterEncoding("utf-8");//设置请求的编码格式

        String user = req.getParameter("user");
        String pwd = req.getParameter("pwd");
        System.out.println("=============");
        System.out.println(user);
        System.out.println(pwd);

        //2.根据输入的用户名和密码执行数据库的查询

        //使用假登录
        resp.setCharacterEncoding("utf-8");//设置响应的编码格式
        resp.setContentType("text/html;charset=UTF-8");//设置响应的格式为:文本/html;中文编码

        if(user.equals("张三") && pwd.equals("666")){
            //3.做出响应
            //登录成功
            resp.getWriter().println("<h2>成功!</h2>");//获取响应的输出字符流,向前端打印内容
        }else{
            //登录失败
            resp.getWriter().println("失败!");
        }
    }
}

 

 

1.Servlet容器接收到来自客户端的HTTP请求后,容器会针对该请求分别创建一个HttpServletRequest 对象和 HttpServletReponse 对象。

2.容器将 HttpServletRequest 对象和 HttpServletReponse 对象以参数的形式传入service()(或者doGet()/doPost())方法内,并调 用该方法。

3.在service()(或者doGet()/doPost())方法中Servlet 通过 HttpServletRequest 对象获取客户端信息以及请求的相关信息。

4.对HTTP请求进行处理。

5.请求处理完成后,将响应信息封装到 HttpServletReponse 对象中。

6.Servlet容器将响应信息返回给客户端。

7.当Servlet 容器将响应信息返回给客户端后,HttpServletRequest对象和HttpServletReponse对象被销毁。

  • HttpServletRequest接口

在Servlet API中,定义了一个HttpServletRequest 接口,它继承自 ServletRequest 接口。HttpServletRequest 对象专门用于封装 HTTP 请求消息,简称 request对象。

HTTP 请求消息分为请求行、请求消息头和请求消息体三部分,所以HttpServletRequest接口中定义了获取请求行、请求头和请求消息体的相关方法。

获取请求行信息

HTTP请求的请求行中包含请求方法、请求资源名、请求路径等信息,HttpServletRequest接口定义了一系列获取请求行信息的方法

返回值类型方法声明描述
StringgetMethod()该方法用于获取HTTP请求方式(如GET、POST等)。
StringgetRequestURI()

该方法用于获取请求行中的资源名称部分,即位于 URL的主机和端口之后,参数部分之前的

部分。

String

getQueryString()

该方法用于获取请求行中的参数部分,也就是 URL 中“?”以后的所有内容。
  • HttpServletResponse接口

它继承自ServletResponse接口,作用是封装HTTP响应消息。
由于HTTP响应消息分为状态行,响应消息头,消息体三部分,所以在HttpServletResponse接口中定义了发送这三种消息的方法:

1.发送状态行相关方法:

  • setStatus(int status)方法

该方法用于设置HTTP响应消息的状态码,并生成响应状态行。

正常情况下,Web服务器默认产生一个状态码为200的状态行。

  • sendError(int sc)方法

该方法用于发送表示错误信息的状态码。

2.发送响应消息头的相关方法:

HttpServletResponse 接口中定义了一系列设置 HTTP 响应头字段的方法

返回值类型方法描述
voidaddHeader(String name,String value)用于增加响应头字段,其中,参数 name 用于指定响应头字段的名称,参数 value 用于指定响应头字段的值。
voidsetHeader (String name,String value)用于设置响应头字段,其中,参数 name 用于指定响应头字段的名称,参数 value 用于指定响应头字段的值。
voidaddIntHeader(String name,int value)用于增加值为 int 类型的响应头字段,其中,参数 name 用于指定响应头字段的名称,参数 value 用于指定响应头字段的值,类型为 int。
voidsetIntHeader(String name, int value)用于设置值为 int 类型的响应头字段,其中,参数 name 用于指定响应头字段的名称,参数 value 用于指定响应头字段的值,类型为 int。
voidsetContentType(String type)用于设置 Servlet 输出内容的 MIME 类型以及编码格式。
voidsetCharacterEncoding(String charset)用于设置输出内容使用的字符编码。

3.发送响应消息体相关方法:
在HTTP响应消息中,大量的数据都是通过响应消息体传递

返回值类型方法声明描述
ServletOutputStreamgetOutputStream()用于获取字节输出流对象
PrintWritergetWriter()用于获取字符输出流对象

注意:getOutputStream()和getWriter()方法互相排斥,不可同时使用,否则会发生 IllegalStateException 异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值