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">
一定要加”/” !!!!