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")

  • 乱码问题解决的核⼼心:通过字节数组以指定的编码构建字符串串,这⾥里里指定的编码是根据客户端那边提交数据时使⽤用的字符编码来定
相关推荐
掘金挖土5 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
SL_staff6 小时前
从邮箱传文档到协同流重构:企业文档协作的系统性破局实践
java·开源·github
中文呀8 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
smallyoung8 小时前
告别N+1:Spring Boot 一键数据翻译框架体系
java·后端·架构
前进前进前进8 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7429 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿9 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
Bazingga10 小时前
Java16 record 完整拆解——语法、语义、限制、反射
java·后端
对象存储与RustFS10 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
全栈项目管理程序猿10 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript