[原]bug笔记 - Servlet&JSP --- 前端页面乱码问题

祝一迪 17/12/13 17:31:44

1. bug描述

今天在合前端和后台的代码的时候出现了让人头大的问题, 前端页面乱码, 并且css/js格式不能显示出来.
前端页面是大壮写好的HTML页面, 我合后台代码的时候直接将后缀改为了.jsp, 就出现了乱码.

2. bug原因

首先前端页面出现乱码可以分为两种情况, HTML和JSP.

(1) HTML乱码解决

HTML乱码的原因是网页源代码的编码与网页中的中文编码不同导致, 这样就会导致浏览器无法对网页中的中文进行正确解析, 所以一般要在HTML页面的头部加上下面的代码来设置编码:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

(2) JSP乱码解决

如果你是正正经经地创建一个JSP页面, 并且在头部加了上面HTML中设置编码的代码之后, 一般就不会出现什么问题. 但是我今天就是在JSP中已经加了上面的代码, 但是乱码问题还是没有得到解决.

原因是!!! 我并没有正正经经地创建一个JSP, 而是直接将大壮写好的HTML的后缀更改为了.jsp, 虽然大壮的HTML源代码中也设置了UTF-8编码, 但是还是出现乱码.

解决办法: 在JSP文件的开头加上以下代码用以设置JSP的编码:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

也就是说, 在写JSP的时候, 我们不但要设置HTML的编码, 还要通过声明来设置JSP的编码!!!! 但是为什么说如果你正正经经的创建JSP就不会出现问题呢? 因为你每新建一个JSP页面, 它就会自动为你加上这句声明, 这样你就无需担心JSP的编码问题了.

3. 另外一个小问题: css/js链接不到?

emmmm, 仍然是万年不变的路径问题! 使用Spring+Maven框架之后关于web的目录层级如下:
这里写图片描述

也就是说, 如果我在一个JSP中要引用css/main/index.css的时候, 应该这样写:

<link href="/css/main/index.css" rel="stylesheet">

一定要加”/” !!!!

作者:dela_ 发表于 2017/12/13 17:31:44 原文链接 http://blog.csdn.net/dela_/article/details/78794413
阅读:143 评论:1 查看评论