学习Java Web开发中遇到的问题,及其解决方法
1.
2014-7-14 【乱码问题】
http://www.cnblogs.com/yizi87/articles/1512261.html
2014-7-16
http://blog.csdn.net/cai5/article/details/7777485?reload 解决 jsp:include使用jsp:param乱码解决
http://blog.csdn.net/rj042/article/details/5217699 中文编码问题,终结解决方案,确实很极致啊
2.
2014-8-19
搁置了一段时间后,之前解决了的请求为get的乱码问题又出现了,在此把解决方法直接写出来,使其他人更快
的处理此类问题:
第一,接收页面需要时jsp格式,加入<%@ page language="java" pageEncoding="UTF-8"%>
第二,在tomcat中的\conf\server.xml中的Connector节点增加useBodyEncodingForURI="true"
第三,在内容接收处加入 (假如要接收的属性名叫 username)
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
再处理,这样就好了
声明:如上处理方法用的是更上面 2014-7-14日介绍的链接内容处理的
3. 2014-08-20
【request 和 response的区别(仅作记录,供自己以后学习)】
request是包含了客户端请求中所有信息的一个对象
response是相应给客户端的内容
http://rosebud.iteye.com/blog/691995
文中说:A向B借钱
request 相当于是B没有钱,不过B向C借,借来之后再借给A。A只请求一次
response相当于B没钱,告诉A可以向C借,于是A重新问C借钱.A请求两次
。request 属于请求转发,只向服务器发送一次请求,URL不会变化
。response属于请求重定向,向服务器发送两次请求,URL会变化
用response方法是这样的:
response.sendRedirect( );
用resquest方法:
request.setAttribute("key","value");
request.getRequestDispatcher("index.jsp").forward(request,response);
备注:正常情况下,一次请求服务器只会给予一次回应,那么这时如果是服务器端跳转,请求的地址没有改变,所以也就相当于回应了一次;而如果地址栏改变了,就相当于发出了第二次请求,则第一次请求的内容肯定就已经消失了,所以无法取得。
4. 2014-8-20【注释问题】
原来在jsp中应用注释字符:<!-- -->注释掉的内容,也是要通过服务器对格式正确性的查验的
比如创建一个jsp页面,body中只包含一句 <!-- <jsp:forward page="page_scope_03.jsp"> -->,访问,就会报500错误
但如果改成 <!-- <jsp:forward page="page_scope_03.jsp"/> -->,再访问,就不会报错,
或者将页面后缀改成.html也不会再报错
5. get 请求需要注意的
get请求需要在地址栏上显示信息,所以信息的长度有限制,一般大小是4~5KB的数据,如果表单中有一些大文本或者一些图片,则只能使用post的方式提交