关于jsp通过servlet跳转到jsp页面出现的样式

2019年12月18日09:07:30

1.先给大家看看我出现的问题,同时也是记录一些自己的点点滴滴和一些解决错误的思路以及方法。看下面两张图片。

关于jsp通过servlet跳转到jsp页面出现的样式丢失问题。
关于jsp通过servlet跳转到jsp页面出现的样式丢失问题。
看不清楚可以放大看看,404的原因,还有就是上面页面显示的都是???,乱码了这是。
这个问题困扰了我一天多,当时都烦死了,去csdn上找解决方法,好像就是在jsp页面前面加上
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"????/"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
关于jsp通过servlet跳转到jsp页面出现的样式丢失问题。
这一行代码,这一行代码在创建jsp页面的时候,是可以自动加上的,我用的myEclipse,所以可以自动加上,其实还有一句代码我没有加上,“ ” 这一句代码,我发现别的博主解决这个问题的时候都是要加上这个一句代码,并且放在下面,但是我的问题却不是这个,可是我也有试过这个解决办法,没有用,相反不加上这一句“ ” 还是有用的,但是通过servlet跳转后就失效了,问题就出现这,所以我找了很多博主的建议和方法,并没有找到一个良好的解决办法。

2.css文件路径是否放错了

关于jsp通过servlet跳转到jsp页面出现的样式丢失问题。
就在第二天想要找老师解决的时候,奇迹就出现了,本来也只是试一试,毕竟代码就是要多试一试,多写一下,我把我的代码重新建了一个项目,在这个新建的项目,随便测试,看着这个图片上的404,一个一个的去找原因,看看是不是css样式的路径是否有问题,我试了相对路径和绝对路径,但是都没有用,想到路径这个问题,我就想试一下能不能把两个文件里面的css样式放在一起,因为两个文件的样式都是一样的,之前脑子抽了,所以就分开在两个文件里设置了一样的css样式,于是就是在跳转的时候就出现了404的问题,当我把css样式放到webRoot这个文件里面,问题就解决了,跳转的时候就可以了。也没有出现乱码等问题。

3,总结一下

方法一:<%
String path = request.getContextPath();
String basePath = request.getScheme()+"????/"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
“ ”
这个方法可以看看你有没有这些,没有可以加上去。

方法二:将css样式和js样式设置成绝对路径。“ /项目名+/文件名+/.css*
这个方法可以写死你的路径,从而实现跳转后页面还存在。

方法三:就是检查你的css样式有没有重叠或者是多个文件夹里存在相同的css样式,如果有就把css样式放到一个父文件下面,例如:webroot 就放这个文件下面。

相关文章: