第八天2月28日之转发和重定向,注意地址的写法

来源:互联网 发布:主人网络个访问网络 编辑:程序博客网 时间:2024/05/01 13:33

一、HttpServletResponse的细节
1、使用完字节流或字符流时,可以不用关闭,服务器会帮我们关闭
2、在同一个Servlet中,字节流和字符流只能选择其中的一个。(互斥)
二、常用表单数据的获取

type:
 radio
 checkbox
 
 如果用户不选:浏览器根本不会向服务器传递信息。
 如果选择了其中的任何一个:浏览器会把当前选中的那一项的value的值传给服务器
 如果选择了其中的任何一个,但是form表单中该项没有value的值,则会想服务器传递on
  <input type="checkbox" name="married"/>
 
三、ServletRequest本身是一个域(范围--请求范围)对象
ServletRequest的生命周期:调用service方法之前,service方法调用结束

void setAttribute(String key,Object value)
void removeAttribute(String key)
Object getAttribute(String key)

注意:
getAttribute():从ServletRequest中的Map中根据key值取数据

getParameter():获取用户请求过来的表单数据
方法的区别

四、URL路径问题:
绝对路径:相对于当前的JavaWeb应用。一般以/开头。在ServletContext中使用的所有路径,必须以/开头,它就代表着当前应用
相对路径:
http://localhost:8080/day08_01_request/servlet/QuestionDemo1

http://localhost:8080/day08_01_request/servlet/QuestionDemo2

Demo2相对于Demo1的路径是什么?QuestionDemo2

ServletContext.getRequestDispatcher(String url):url必须使用绝对路径,即必须以/开头
HttpServletRequest.getRequestDispatcher(String url):url可以使用绝对路径(/代表着当前应用),也可以使用相对路径

专题:路径问题

相对路径:弊端
绝对路径:建议使用
 什么时候以项目名称开头?
 getServletContext().getRequestDispatcher("/servlet/QuestionDemo2");
 response.sendRedirect("/day08_01_request/servlet/RedirectDemo2");
  <link rel="stylesheet" type="text/css" href="/day08_01_request/css/main.css">
  a href
  img src。。。
 
  原则:地址是不是给服务器用的。如果是给服务器用的/就代表当前应用(请求转发和包含);给客户端用的需要加上应用名称。


 

0 0
原创粉丝点击