Servlet获取前端请求的参数和中文乱码的解决方案

目录

1.Servlet获取前端请求的参数

1.1创建jsp

1.2构建servlet实例

1.3配置web.xml

2.中文乱码的解决方案

2.1请求时候的乱码问题

 2.2响应时候中文乱码的问题


学好Servlet必须紧紧围绕着请求和响应这两个概念。

下面开始写在请求的时候前端带数据到servlet里面,我们servlet要接收前端给我们的这个数据。

1.Servlet获取前端请求的参数

1.1创建jsp

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <form action="user/login" method="post">
    <input type="text" name="username"/><br>
    <input type="text" name="password"/><br>
    <input type="submit" value="提交">
  </form>
  </body>
</html>

1.2构建servlet实例

public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
		//html页面中  input标签发送的数据,都会存到HttpServlet这个对象里面
		//通过前端input标签name的属性值获取前端发送的数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username: " + username+"===password"+password);
        
        //Servlet响应数据到客户端的时候,如果是中文的话,会乱码
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().write("username: " + user+"===password"+password);
    }
}

1.3配置web.xml

 <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>com.by.servlet.LoginServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

结果:

2.中文乱码的解决方案

2.1请求时候的乱码问题

//前端发送数据到Servlet,如果是post请求的话,input输入中文数据的时候,Servlet接到的数据是乱码的。
request.setCharacterEncoding("utf-8");

 2.2响应时候中文乱码的问题

//Servlet响应数据到客户端的时候,如果是中文的话,会乱码
response.setContentType("text/html;charset=utf-8");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/274162.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单词接龙[中等]

一、题目 字典wordList中从单词beginWord和endWord的 转换序列 是一个按下述规格形成的序列beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 1、每一对相邻的单词只差一个字母。 2、对于1 < i < k时&#xff0c;每个si都在wordList中。注意&#xff0c;beg…

ubuntu 在线安装 python3 pip

ubuntu 在线安装 python3 pip 安装 python3 pip sudo apt -y install python3 python3-pip升级 pip python3 -m pip install --upgrade pip

【CVPR2023】可持续检测的Transformer用于增量对象检测

目录 导读 动机 本文贡献 相关工作/概念 本文方法 实验 实验结果 消融实验 可视化结果 结论 代码已开源&#xff1a;https://github.com/yaoyao-liu/CL-DETR 导读 本文旨在解决增量目标检测&#xff08;IOD&#xff09;问题&#xff0c;模型需要逐步学习新的目标类别…

数据驱动与数据安全,自动驾驶看得见的门槛和看不见的天花板

作者 |田水 编辑 |德新 尽管心理有所准备&#xff0c;2023年智能驾驶赛道的内卷程度还是超出了大多数人的预期。 这一年&#xff0c;汽车价格战突然开打&#xff0c;主机厂将来自销售终端的价格压力&#xff0c;传导到下游智驾供应商&#xff0c;于是&#xff0c;市面上出现…

功能测试知识超详细总结

一、测试项目启动与研读需求文档 &#xff08;一&#xff09; 组建测试团队 1、测试团队中的角色 2、测试团队的基本责任 尽早地发现软件程序、系统或产品中所有的问题。督促和协助开发人员尽快地解决程序中的缺陷。帮助项目管理人员制定合理的开发和测试计划。对缺陷进行跟…

Python+OpenCV 零基础学习笔记(1):anaconda+vscode+jupyter环境配置

文章目录 前言相关链接环境配置&#xff1a;AnacondaPython配置OpenCVOpencv-contrib:Opencv扩展 Notebook:python代码笔记vscode配置配置AnacondaJupyter文件导出 前言 作为一个C# 上位机&#xff0c;我认为上位机的终点就是机器视觉运动控制。最近学了会Halcon发现机器视觉还…

基于SpringBoot + Vue的图书管理系统的设计与实现

基于SpringBoot Vue的图书管理系统的设计与实现 目录 1 引言 1.1 编写目的 1.2 项目背景 1.3 参考资料 2 总体设计 2.1 需求概述 2.2 软件结构 3 模块设计 3.1 模块基本信息 3.2 功能概述 3.3 算法 3.4 模块处理逻辑 4 数据库设计 4.1 ER图表 4.…

网页乱码问题(edge浏览器)

网页乱码问题&#xff08;edge&#xff09; 文章目录 网页乱码问题&#xff08;edge&#xff09;前言一、网页乱码问题1.是什么&#xff1a;&#xff08;描述&#xff09;2.解决方法&#xff1a;&#xff08;针对edge浏览器&#xff09;&#xff08;1&#xff09;下载charset插…

【力扣题解】P404-左叶子之和-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P404-左叶子之和-Java题解&#x1f30f;题目描述&#x1f4a1;题解&#x1f30f;总结…

量子密码学简介

量子密码学&#xff08;英语&#xff1a;Quantum cryptography&#xff09;泛指利用量子力学的特性来加密的科学。量子密码学最著名的例子是量子密钥分发&#xff0c;而量子密钥分发提供了通信两方安全传递密钥的方法&#xff0c;且该方法的安全性可被信息论所证明。目前所使用…

声明 | 为打击假冒账号、恶意抄袭账号等诈骗活动,提升本账号权威,本博主特此郑重声明

声明 | 为打击假冒账号、恶意抄袭账号诈骗活动&#xff0c;提升本账号权威&#xff0c;本博主特此郑重声明 一、本账号为《机器学习之心》博主CSDN唯一官方账号&#xff0c;唯一联系方式见文章底部。 二、《机器学习之心》博主未授权任何第三方账号进行模型合作、程序设计、源…

AMEYA360:佰维发布CXL 2.0 DRAM,赋能高性能计算

导语&#xff1a;CXL是一种开放式全新互联技术标准&#xff0c;可在主机处理器与加速器、内存缓冲区、智能I/O设备等设备之间提供高带宽、低延迟连接&#xff0c;从而满足高性能异构计算的要求&#xff0c;并且其维护CPU/GPU内存空间和连接设备内存之间的一致性&#xff0c;突破…

性能测试必备基础知识(一)

1. 平均负载 平均负载是指单位时间内&#xff0c;系统处于可运行状态和不可中断状态的平均进程数&#xff0c;也就是平均活跃进程数&#xff0c;它和CPU使用率并没有直接关系。 可运行状态的进程是指正在使用CPU或者等待CPU资源的进程。当我们使用类似于"ps"命令时…

金三银四,软件测试面试题总结,offer稳稳的。。。

前言 前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些…

基于springboot,vue在线聊天系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;TypeScriptVue3.0ElementUI-Plus 服务端技术&#xff1a;springboo…

HarmonyOS4.0系统性深入开发06Stage模型开发概述

Stage模型开发概述 基本概念 下图展示了Stage模型中的基本概念。 图1 Stage模型概念图 UIAbility组件和ExtensionAbility组件 Stage模型提供UIAbility和ExtensionAbility两种类型的组件&#xff0c;这两种组件都有具体的类承载&#xff0c;支持面向对象的开发方式。 UIAbili…

Solana 生态铭文跨链桥 Sobit 是何神圣?其场外白名单已达到1200U

在短暂的沉寂&#xff0c;在与 Solana 手机 Saga 联合生态 Meme 币 Bonk 掀起一波 meme 浪潮&#xff0c;以及GPU 计算网路Render network 宣布将从公链Polygon迁往Solana 后&#xff0c;Solana 生态再次迎来爆发。随着 SOL 代币在 12 月暴涨&#xff0c;SOL 也在市值上超越了 …

最新多模态大模型SOTA - EMU (Generative Multimodal Models are In-Context Learners)

前言 设计的模型叫EMU&#xff0c;通过统一的自回归方式&#xff08;其预测的输出依赖于过去的输出&#xff09;训练。参数37B&#xff08;370亿&#xff09;。指标在目前多项视觉&#xff08;图像&#xff0c;视频&#xff09;问答的SOTA tips&#xff1a; 不过这里吐槽一点…

计算机网络——网络层(四)

前言&#xff1a; 前面我们已经对物理层和数据链路层有了一个简单的认识与了解&#xff0c;现在我们需要对数据链路层再往上的一个层&#xff0c;网络层进行一个简单的学习与认识&#xff0c;网络层有着极其重要的作用&#xff0c;让我们对网络层进行一个简单的认识与学习吧 目…

加强-jdbc与连接池的关系,连接池有哪些

0驱动什么是数据库驱动 开发人员编写好应用程序之后想要操作数据库&#xff0c;平常就了解到有很多种数据库如oracle\mysql\sql server&#xff0c;代码已经写好了是一套总不能在使用不同的数据库技术的时候代码就要写不同方式连接来连接数据库吧&#xff0c;所以开发商在开发数…