我正在使用 Netbeans IDE 开发一个用于登录的 JSP 项目。登录 ID 是印地语,出现在我的 MySQL 数据库中,显示用户 ID 的印地语字体。
当我在 Netbeans 中运行这个项目时,它工作正常并且我可以成功登录,但是当我在 Tomcat 管理器中部署 WAR 后尝试登录时,我无法登录。
我需要将 UTF-8 添加到 web.xml 文件吗?
我正在使用 Netbeans IDE 开发一个用于登录的 JSP 项目。登录 ID 是印地语,出现在我的 MySQL 数据库中,显示用户 ID 的印地语字体。
当我在 Netbeans 中运行这个项目时,它工作正常并且我可以成功登录,但是当我在 Tomcat 管理器中部署 WAR 后尝试登录时,我无法登录。
我需要将 UTF-8 添加到 web.xml 文件吗?
您很可能没有使用 UTF-8 处理 POST 请求正文。您可以通过在请求正文被触摸之前添加以下行来强制执行此操作(即在第一次调用 a之前request.getParameter()
,依此类推):
request.setCharacterEncoding("UTF-8");
为了防止在所有 servlet 上重复/复制粘贴这一行,一种常见的方法是创建一个servlet 过滤器来完成这项工作。然后,您可以将其映射到 URL 模式上,/*
以将其应用于所有传入请求。
我认为您已经正确地完成了它,但是您还应该确保您的 JSP 也使用 UTF-8 发出响应,<%@page pageEncoding="UTF-8"%>
或者至少是一个 适用于所有JSP的<jsp-config>
条目。web.xml