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

Javaweb学习——day3(Servlet 中处理表单数据)

文章目录

  • 一、概念学习
    • 1. GET vs POST 请求方式的区别
    • 2. HttpServletRequest 获取表单数据
  • 二、代码讲解与练习
    • 第 1 步:在 webapp 下创建 login.html
    • 第 2 步:在 com.example 包下创建 LoginServlet
    • 第 3 步:修改 web.xml 注册 LoginServlet
    • 第 4 步:部署与测试

一、概念学习

1. GET vs POST 请求方式的区别

比较项GETPOST
数据位置URL 中(如:?username=abc请求体中,浏览器不可见
安全性较差(数据暴露在地址栏)较好(数据藏在请求体中)
数据长度限制有限制(通常 < 2KB)理论无限制
使用场景查询操作(如搜索)提交表单(如登录、注册)

2. HttpServletRequest 获取表单数据

方法说明
request.getParameter(name)获取单个参数值,如用户名
request.getParameterValues(name)获取同名参数值数组,如 checkbox 多选
request.getParameterMap()获取所有参数的 Map<参数名, String[]>
request.getMethod()获取请求方法,如 GET 或 POST

二、代码讲解与练习

第 1 步:在 webapp 下创建 login.html

右键 webapp 文件夹 → New → HTML File → 命名为 login.html
输入以下内容:

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>登录页面</title>
</head>
<body><h2>用户登录</h2><form action="login" method="post">用户名:<input type="text" name="username"><br><br>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password"><br><br><input type="submit" value="登录"></form>
</body>
</html>

示例:
在这里插入图片描述

第 2 步:在 com.example 包下创建 LoginServlet

右键 com.example → New → Java Class → 命名为 LoginServlet
替换内容为:

package com.example;import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;
import java.io.PrintWriter;public class LoginServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String username = request.getParameter("username");String password = request.getParameter("password");PrintWriter out = response.getWriter();if ("admin".equals(username) && "123456".equals(password)) {out.println("<h3>登录成功,欢迎 " + username + "!</h3>");} else {out.println("<h3>用户名或密码错误!</h3>");}}
}

示例:
在这里插入图片描述

第 3 步:修改 web.xml 注册 LoginServlet

打开 web.xml 文件,在 标签中添加:

<servlet><servlet-name>LoginServlet</servlet-name><servlet-class>com.example.LoginServlet</servlet-class>
</servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/login</url-pattern>
</servlet-mapping>

示例:
在这里插入图片描述

第 4 步:部署与测试

编译项目(mvn package 或点击IDEA右侧 Maven 工具中的 package);

启动 Tomcat
在这里插入图片描述

浏览器访问:
http://localhost:8080/javaweb/login.html
(假设你的项目名是 javaweb,请根据实际路径调整)

输入用户名:admin,密码:123456
➤ 显示 “登录成功,欢迎 admin!”
➤ 否则显示 “用户名或密码错误!”
运行成功示例:
在这里插入图片描述
在这里插入图片描述

相关文章:

  • Hive SQL 执行计划详解:从查看方法到优化应用
  • DataX Hive写插件深度解析:从数据写入到Hive表关联实战
  • CNN中的感受野
  • 51单片机-IO扩展模块 pcf8575
  • React中使用Day.js指南
  • 使用NVIDIA NeMo Agent Toolkit扩展现实机器人仿真的物理AI应用
  • 228永磁同步电机无速度算法--基于双重锁相环的滑模观测器
  • 如何调优Kafka
  • 深入解析JVM类加载机制
  • MATLAB交互式贝塞尔曲线演示
  • 动态多目标进化算法:基于迁移学习的动态多目标遗传算法Tr-NSGA-II求解CEC2015,提供完整MATLAB代码
  • QSimpleUpdater:解锁 Qt 应用自动更新的全新姿势
  • 在docker中部署mysql
  • 计算机网络笔记(四十二)——6.5电子邮件
  • http1.x VS http2.x 协议
  • csharp设计方法
  • Qt--信号槽发送QVector
  • 专注于PLC数据采集MES交互解决方案
  • Redis集群模式之Redis Cluster(3)
  • 【0.2 漫画操作系统原理】
  • 开发微信微网站建设/seo优化工具推荐
  • 如何在虚拟机里面做网站/重庆做网络优化公司电话
  • 网站开发论文英文资料/seo案例模板
  • 网站建设中 什么意思/seo专员是干什么的
  • 广东省建设厅网站6/网络营销产品策略
  • 背景网站建设/设计公司