发表于: 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


收获:

感觉像翻越了一座大山



返回列表 返回列表
评论

    分享到