HttpServletRequest和⽤用户登录表单提交

简介:讲解 HttpServletRequest和表单提交实战

  • 使⽤用jsp编写form表单提交
  • UserServlet, doPost⾥里里⾯面调⽤用doGe
java 复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>简易 JSP 示例</title>
</head>
<body>
<form action="/user/login" method="post">
    <div>⽤用户名: <input type="text" name="userName"/></div>
    <div>密码: <input type="password" name="pwd"/></div>
    <div><input type="submit" value="登录"></div>
</form>
</body>
</html>
java 复制代码
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=utf-8");
        String userName = req.getParameter("userName");
        String pwd = req.getParameter("pwd");
        if (userName.equals("gaze") && pwd.equals("123")) {
            resp.getWriter().write("登录成功");
        } else {
            resp.getWriter().write("账号密码错误");
        }
    }
  • 关于乱码问题

//POST⽅方式遇到中⽂文乱码,如果客户端是以UTF-8字符编码,需要服务器器以UTF-8的编码接收数据,

req.setCharacterEncoding("UTF-8");

//对于以get⽅方式传输的中⽂文数据乱码需要另外⼀一种⽅方式,默认的还是使⽤用ISO8859-1这个字符编码来接

收数据

//办法:对接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串串,解决乱码问题

String name = request.getParameter("name");//接收数据

name =new String(name.getBytes("ISO8859-1"), "UTF-8")

  • 乱码问题解决的核⼼心:通过字节数组以指定的编码构建字符串串,这⾥里里指定的编码是根据客户端那边提交数据时使⽤用的字符编码来定
相关推荐
Setsuna_F_Seiei1 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
步行cgn1 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风1 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
比兔代理2 小时前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
aramae2 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路2 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
百万蹄蹄向前冲3 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙3 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
Wang's Blog3 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog3 小时前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis