JavaWeb基础知识总结. (7)

l 一个请求,只有一个请求方式!所以转发后还是原来的请求方式,如果一开始发出的是GET,那么整个请求都是GET!重定向不同,因为是多个请求,第一个无论是什么方式,第二个请求都是GET。

l 请转转发只能是本项目中的资源,而重定向可以其他项目。

如果要转发,就不要输出

l 如果输出到缓冲区的数据,没有提交,那么在转发时,缓冲区会被清空,如果已经提交,那么在转发时抛出异常。这一点与重定向相同!

l 留头不留体:在第一个Servlet中设置头没问题,会保留到下一个Servlet。如果在第一个Servlet中输出数据,即设置响应体,那么如果没有提交,就被清空,如果已提交,就出异常。

8 请求包含

请求包含:

l RequestDispatcher rd = request.getRequestDispatcher(“/BServlet”);

l rd.include(request,response);

留头又留体!

路径

客户端路径:

1. 超链接:href=”/项目名/…”

2. 表单:action=”/项目名/…”

3. response.sendRedirect(“/项目名/…”);

如果客户端路径,没有已“/项目名”开头,那么相对的是当前页面所在路径。

例如::8080/day10_3/a.html,当前页面所在路径是:8080/day10_3/

以“/”开头的客户端路径相对“:8080”,<a href=http://www.likecs.com/”/hello/AServlet”>

服务器端路径:

转发:必须使用“/”开头,它相对当前项目,即:8080/day10_3

包含:同上;

<url-pattern>:同上

ServletContext.getRealPath(“/a.jpg”):它是真对真实路径,相对当前WebRoot

ServletContext.getResourceAsStream():同上

Class.getResourceAsStream():如果使用“/”开头,相对classes,如果不使用“/”,相对当前.class文件所在目录。

ClassLoader. getResourceAsStream():无论使用不使用“/”开头,都相对classes

编码: URL编码

作用:为了在客户端与服务器之间传递中文!

把中文转换成URL编码:

Ø 首先你需要选择一种字符编码,然后把中文转换成byte[]。

Ø 把每个字节转换成16进制,前面添加上一个“%”。它不能显负号,把得到的byte先加上128,这样-128就是0了。正的127就是255了,它的范围是%00~%FF

会话跟踪技术Cookie &session 1 什么是会话跟踪技术

我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。

在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。

在一个会话的多个请求中共享数据,这就是会话跟踪技术。例如在一个会话中的请求如下:

l 请求银行主页;

l 请求登录(请求参数是用户名和密码);

l 请求转账(请求参数与转账相关的数据);

l 请求信誉卡还款(请求参数与还款相关的数据)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfdw.html