学习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的方式提交

posted @ 2014-07-14 19:22  琥珀的白桦林  阅读(10254)  评论(0编辑  收藏  举报