11.26笔记,转发异常、转发页面中文乱码、转发路径问题。

关于转发绝对路径

request.getContextPath(获取项目名称)常常用来获取项目的绝对路径



比如说项目名称为wangluochaoshi ,我有一个图片放在了webRoot/img文件夹
网页放在了webRoot/jsp文件夹,
网页中有个图片<img src="../img/logo.png" width="300" height="50" alt="" />(../)表示当前文件夹的上一个文件夹,即jsp的上一个文件夹
这样在浏览器打开jsp页面时候能正常显示<img src="wangshangchaoshi/img/logo.png" />


,如果在servlet中转发定位到这个页面的时候,图片就不能显示,查看地址为<img src="../img/logo.png" width="300" height="50" alt="" />(../)没有起作用。
总结:(../)可能只有在静态页面中能使用


<%String path=request.getContextPath(); %>   //获取项目名称
<img src="<%=path%>/img/logo.png" width="300" height="50" alt="" />  这样子 地址就变成了img src="wangshangchaoshi/img/logo.png" />

报异常“java.lang.IllegalStateException"

req.getRequestDispatcher("/jsp/h_index.jsp").forward(req, resp); 之后要写return;否则报异常“java.lang.IllegalStateException";
原因参考http://jorton468.blog.163.com/blog/static/72588135201102441617287/


转发响应页面中文乱码

转发响应页面时要设置响应页面的编码;
respst.setContentType("text/html;charset=utf-8");设置响应页面的编码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值