当前位置: 首页 > news >正文

JavaWeb学习打卡10(HttpServletRequest详解应用、获取参数,请求转发实例)

HttpServletRequest

HttpServletRequest  代表客户端的请求,用户通过Http 协议访问服务器,HTTP 请求中的所有信息会被封装到 HttpServletRequest ,通过这个HttpServletRequest 的方法,获得客户端的所欲信息

HttpServletRequest  常见  get 方法

应用:

获取前端传递的参数(获取参数的 4 个方法,常见的只有2  个)

Request 应用实例(获取参数,请求转发):

先创建一个 请求类:

package com.xu.servlet;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.util.Arrays;public class RequestServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");String username = req.getParameter("username");String password = req.getParameter("password");String[] hobbys = req.getParameterValues("hobbys");System.out.println("====================");System.out.println(username);System.out.println(password);System.out.println(Arrays.toString(hobbys));System.out.println("====================");//通过请求转发req.getRequestDispatcher("/success.html").forward(req,resp);resp.setCharacterEncoding("utf-8");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}

再到 index.jsp 文件中写好前端页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body><div style="text-align: center"><!--  这里表单表示的意思为:以post 方式提交表单,提交到我们的login请求      --><form action="${pageContext.request.contextPath}/login" method="post">用户名:<input type="text" name="username"> <br>密码:<input type="password" name="password"><br>爱好:<input type="checkbox" name="hobbys" value="女孩">女孩<input type="checkbox" name="hobbys" value="写代码">写代码<input type="checkbox" name="hobbys" value="唱歌">唱歌<input type="checkbox" name="hobbys" value="电影">电影<br><input type="submit"></form></div></body>
</html>

接着再创建一个自写 success.html 页面:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>登录成功了</h1></body>
</html>

再到web.xml 文件中 注册 Servlet 以及配置请求路径:

    <servlet><servlet-name>RequestServlet</servlet-name><servlet-class>com.xu.servlet.RequestServlet</servlet-class></servlet><servlet-mapping><servlet-name>RequestServlet</servlet-name><url-pattern>/login</url-pattern></servlet-mapping>

测试运行结果:

笔试常见题:

请你聊聊重定向和转发的区别?

相同点:

  • 页面都会实现跳转

不同点:

  • 请求转发的时候,url不会发生变化    307
  • 重定向的时候,url地址会发生变化    302
http://www.lryc.cn/news/595933.html

相关文章:

  • 分布在内侧内嗅皮层(MEC)的边界细胞对NLP中的深层语义分析的积极影响和启示
  • 短剧小程序系统开发:重塑影视内容传播格局
  • Python爬虫实战:批量下载亚马逊商品图片
  • java多线程编程自用笔记
  • 日常随笔-React摘要
  • 浅谈——游戏中的各种配置格式
  • C++ 模板库map数据结构的概念和使用案例
  • React集成百度【BMap Draw】教程(001):实现距离测量和面积测量
  • Go后端配置文件教程
  • Python 链接各种中间件[Mysql\redis\mssql\tdengine]
  • 发票识别技术原理
  • Redis持久化-AOF
  • Ubuntu 桌面版和服务器版在资源消耗上的对比分析
  • 第十六天(结构体初学)
  • Sa-Token大师:第四章 - 企业级架构与源码实战
  • Events
  • Linux部署.net Core 环境
  • 虚幻 5 与 3D 软件的协作:实时渲染,所见所得
  • linux-日志服务
  • 同步本地文件到服务器上的Docker容器
  • 跨维智能:全新一代人形机器人 DexForce W1 Pro
  • 大模型后训练——DPO实践
  • Mosaic数据增强介绍
  • 使用ubuntu:20.04和ubuntu:jammy构建secretflow环境
  • android模拟器手机打开本地网页
  • Tailwind CSS快速上手 Tailwind CSS的安装、配置、使用
  • J2EE模式---拦截过滤器模式
  • Vite:下一代前端构建工具的革命
  • C语言---VSCODE的C语言环境搭建
  • RISC-V基金会Datacenter SIG月会圆满举办,探讨RAS、PMU性能分析实践和经验