发表于: 2016-11-10 16:01:56
2 2222
今天完成的事情:
解决了springmvc返回的jsp页面无法正常显示图片的问题,主要排查如下
1)直接通过localhost:8081/xiuzhenyuan/t11.jsp来访问,发现图片及css是可以正常显示的
其实这一步可以排除是dispatcherServlet拦截的原因了,只是自己当时没想通,在这方面使了好大劲
2)将在web.xml中加入的hiddenHttpMethodFilter注掉,发现还是不行
3)在显示出的jsp页面中,右键点击裂掉的图标,复制图片地址,粘贴在记事本看,发现了问题
http://localhost:8081/xiuzhenyuan/employment/getemployment/imges/logo.png
原来springmvc跳转的时候会相对控制器跳转,这是相对路径的问题。。。
在jsp页面中指定
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在所有引用的图片、css文件路径前加<%=basePath%>,设置成绝对路径
重新部署,刷新,ok。。。
学习了springmvc对静态资源路径的几种处理方法
1)一个是访问静态资源时调用tomcat的默认servlet来处理
这里有两种方式
①springMVC.xml配置文件中加入<mvc:default-servlet-handler />
②在主配置文件web.xml中加入如下
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern> ---同样加入 .png .gif .js等的条件
</servlet-mapping>
2)在springMVC.xml文件中加入<mvc:resources location="/" mapping="/**"/>,通过springMVC框架自己来处理静态资源的请求路径
location是静态资源的存放路径,mapping是映射路径(url中输入的)
<mvc:resources location="/imges/" mapping="/imges/**"/>
明天计划的事情:
继续任务4
遇到的问题:
在调试过程中,好像是因为调用数据次数过多了,某个存储区不够了,然后报了如下的错
然后我目前的解决办法就是重启myeclipse。。。大概就能释放内存了吧
网上查还有一种方法是修改基础存储空间。。。暂时不想改,怕改坏。。。
严重: Servlet.service() for servlet [dispatcherServlet] in context with path [/xiuzhenyuan] threw exception [Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-apr-8081-exec-24"
java.lang.OutOfMemoryError: PermGen space
收获:
感觉像翻越了一座大山
评论