请求转发的特点在于url是不会发生变化的。
在一个servlet中请求转发到一个jsp页面中,这个时候的url仍为这个servlet的地址。这个时候jsp页面中的css的相对路径就要进行修改。
假设jsp页面在admin文件夹下,css的文件存放于admin/css下
这个时候就在jsp的<head>标签内加入<base href="http://localhost:8080/DTCMS/admin/">,引入css的地址为<link rel="stylesheet" href="css/style.css" type="text/css"/>,
这是在本地开发时候的写法。在放到服务器之后,要用${pageContext.request.localAddr}替换localhos,${pageContext.request.localPort }替换8080.
css样式会正确加载。
通常情况下,页面中的相对路径,都是相对于当前url请求的地址去定位的。<base>用来设置当前页面的默认起始路径,设置后,浏览器不再使用当前的url,而是使用<base>指定的url来解析页面中所有的相对url.