您的位置:首页 > 编程语言 > Java开发

java web 中的编码与路径问题

2012-02-15 21:47 204 查看
java Web 中的编码问题:
1.对于通过GET传值 时要得到传递过来的中文的做法一般是以下方式
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
这样上面传过来值经过 两次编码就可以得到了原来的中文字符
还有一种比较简单的做法就是在tomcat/config/server.xml配置如下内容
<connetor port="8080" protocol="HTTP/1.1" connectorTimeout="2000" URIEncoding="UTF-8">
2.对于POST 传递过来的值当家也可以用第一种方法来解决,不过还有一个简单的方法就是:
在reqeust.setCharacterEncoding("UTF-8");
java web 中的路径问题:
1.web.xml中的路径
在web.xml中配置url-pattern路径 的时候,一定要在前面加上 / ,而这个 / 是相对于 context-path 而言,即 /index 的路径:http://localhost:8080/nyist/index
2.前台html 中的路径
在html 中的路径 表示 中 / 表示是服务根路径,同样,也可以在html 使用相对路径 ,那就要根据当前html 页面所有的URL路径进行相对定位(无论是<a>链接,还是Form中的action都是一样 0)
3.servlet 中的路径
因为 Servlet 都是相对于context-path 来进行访问的,可以根据当前Serlvlet的URL路径来进行相对定位要进行访问的Servlet的路径
4. 对于Servlet 中的 request.getRequestDispatcher("../../admin/art/index").forward(request, response);问题也可以根据其UTRL相对路径进行
定位
注意:对于 resonse.sendRedirect();而言,其是浏览器的重定向,所有在其内  / 是相对于服务器根而言,而 forward 是相對於 context-path
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: