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");
相关推荐
ashiho20 小时前
【Spring】RequestParam/PathVariable/RequestBody详解
java·后端·spring·servlet·springmvc
有点。1 天前
*C++哈夫曼树与哈夫曼编码
java·c++·servlet
Gl�ria5 天前
Linux 查看日志常用命令
java·linux·servlet
weixin_440730507 天前
socket解决多次输入问题-大数据接收问题-模块动态导入
java·开发语言·servlet
evans在进步8 天前
Tomcat 整体架构与启动流程:从 Server 到 Servlet 加载
servlet·架构·tomcat
大梦想家a8 天前
基于Servlet+JSP的小区物业管理系统设计与实现(Bootstrap+MySQL)
java·servlet·bootstrap
X1A0RAN10 天前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
智能运维指南11 天前
2026研发管理平台选型指南:从“工具堆砌“到“研运一体化“的跃迁
servlet
马优晨12 天前
Spring Servlet 容器是什么、干什么用?
spring·servlet·内嵌servlet容器·java的内嵌servlet·spring内嵌servlet
木井巳14 天前
【JavaEE】Spring Web MVC 入门
java·spring boot·spring·servlet·java-ee