404网页没有乱码,500错误网页乱码,试了gbk显示了中文,求解

来源:5-2 web.xml常用配置(下)

weixin_慕少0536252

2020-03-02 20:11:33

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>servlet_advance</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 
  <servlet>
    <servlet-name>web</servlet-name>
    <servlet-class>webXML</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>web</servlet-name>
    <url-pattern>/web/*</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>copyright</param-name>
    <param-value>@bbwan 2021</param-value>
  </context-param>

   <context-param>
    <param-name>title</param-name>
    <param-value>bbwan</param-value>
  </context-param>
    <!-- 指定错误页面 -->
    <error-page>
      <error-code>404</error-code>
      <location>/error/404.html</location>
    </error-page>
    <error-page>
      <error-code>500</error-code>
      <location>/error/500.html</location>
    </error-page>
</web-app>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
服务器错误
</body>
</html>

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class webXML
 */
public class webXML extends HttpServlet {

 protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String url=request.getRequestURL().toString();
  response.setContentType("text/html;charset=utf-8");
  System.out.println(url);
  String id=url.substring(url.lastIndexOf("/")+1);
  PrintWriter out=response.getWriter();
  switch(Integer.parseInt(id)) {
  case 1: out.println(id+"张三");break;
  case 2: out.println(id+"李四");break;
  default: out.println(id+"王五");break;
  }
 }

}


写回答

1回答

好帮手慕柯南

2020-03-03

同学你好!

这说明你的页面的网页编码是gbk。所以你设置了utf-8.中文仍然是乱码。你改为gbk就可以

祝学习愉快~

1

0 学习 · 9666 问题

查看课程