标签:输出流 活动 cte fill 访问 second enum 自定义 stack
× Web程序的请求相应模式(请求[request]、响应[response])
× form method="get"和method="post"提交方式的区别
1.get:以明文形式通过url进行参数的传递,数据能在url获取,提交的数据最多不超过2KB,安全性低但效率比post高。
适用于提交数据量不大,安全性不高的数据。eg:搜索、查询等
2.post:将用户提交的信息封装在HTML HEAD内。
适用提交数据量大,安全性高的用户信息。eg:注册、修改、上传
×请求转发与请求重定向的区别
操作名 | 行为 | 方法 | 描述 |
请求重定向 | 客户端行为 | response.sendRedirect("url path"); | 相当于两次请求,前一次的请求对象不会被保存,且url地址会发生变化 |
请求转发 | 服务端行为 | request.getRequestDispatcher("urlpath").forward(request,response); | 一次请求,转发后请求对象会被保存,地址栏不会变化 |
通俗易懂点讲:
重定向:这事不归我管,你自己走去XXX弄 (客户端行为)
转发:这事不归我管,但我能帮你转交给XXX(服务端行为)
九大内置对象(out、request、response、session、application、page、pageContext、exception)
1.out对象(JspWriter类的实例,向客户端[浏览器]输出内容常用的对象)
常用方法:
void println(); 向客户端打印字符串。
void clear(); 清除缓存区的内容,如果在flush之后调用会抛出异常。
void clearBuffer(); 清除缓冲区的内容,如果在flush之后调用不会抛出异常。
void flush(); 将缓冲区内容输出到客户端。
int getBufferSize(); 返回缓冲区以字节数的大小,若不设缓冲区则为0。
int getRemaining() 返回缓冲区剩余可用空间大小。
boolean isAutoFlush(); 当缓冲区满时,是否自动清空,若否,则抛出异常。
void close(); 关闭输出流。
2.request对象 |—1.HttpServletRequest的实例对象;
|—2.客户端的请求信息被封装到该对象中,通过该对象获取信息,并且做出响应;
|—3.该对象具有请求域,即在完成用户请求之前,该对象一直有效;
常用方法:
String getParameter(String param); 返回指定参数param的参数值。
String[] getParameterValues(String param); 返回包含参数param的所有参数值的数组。
void setAttribute(String param,Object obj); 将obj对象以param指明保存到request对象中。
Object getAttribute(String param); 返回指定参数名的属性值。
String getContextType(); 得到请求体的MIME类型
String getProtocol(); 返回请求体的协议类型以及版本号
String getServerName(); 返回接收请求体的服务器主机名
int getServerPort(); 返回接收请求体的服务器的端口号
String getCharacterEncoding(); 返回字符集编码
void setCharacterEncoding(); 设置字符集编码
int getContentLength(); 以字节数返回请求体的长度
String getRemoteAddr(); 返回发送该请求的客户端IP地址
String getRealAddr(); 返回虚拟路径的真实地址
String getContextPath(); 返回上下文路径(项目名)
3.response对象 |—1.HttpServletResponse的实例对象;
|—2.response对象包含了响应客户端请求的有关信息,但在JSP中很少直接使用它;
|—3.该对象具有请求域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效;
常用方法:
4.session对象 |—1.HttpSession的实例(表示客户端与服务器的一次会话);
|—2.session是指用户浏览网站时,从进入网站开始便会产生session,直到浏览器关闭时,session也便随之销毁;
|—3.session实际上是一个特定的时间观念;
常用方法:
× session的生命周期
『 1. 创建 - 当浏览器登录页面时便创建session
2. 活动
3. 销毁 - 方式一:session.invalidate();
- 方式二:session超出最大期限 --- Tomcat默认期限为30分钟
设置最大期限:
1) 调用方法[setMaxInactiveInterval]
2) 在web.xml配置 [ 单位 分钟]
<session-config>
<session-timeout>10</session-timeout>
</session-config>
- 方式三:服务器重启
注意:当关闭该session相关的所有页面时,再次打开页面将会创建新的session』
5.Application对象 |—1.ServletContext的实例(实现用户间数据的共享,可存放全局变量);
(说白了就是游走于整个web应用的对象撒~)
|—2.application对象随着服务器的启动而产生,随着服务器的关闭而消亡;
|—3.在任何地方对application对象操作,都会影响其他用户的访问;
常用方法:
6.page对象(指JSP页面本身)
常用方法:
7.pageContext对象 |—1.pageContext的实例(对JSP页面所有对象以及名称空间的访问);
|—2.能获取当前页面的session、application;
常用方法:
8.config对象(当servlet初始化时,JSP引擎向它传递信息,包括参数(形式以键值对呈现)以及服务器的有关信息)
说白了就是在serlvet初始化的时候将config以参数形式传递给servlet的构造方法
常用方法:
9.exception对象(异常对象,当一个页面运行过程中发生异常,便会产生该对象)
当一个JSP要应用该对象,则必须在page指令内将isErrorPage设为true,且在可能会发生错误的页面的page指令中设置 errorPage="JspPageName" 来指定该页面
常用方法:
标签:输出流 活动 cte fill 访问 second enum 自定义 stack
原文地址:http://www.cnblogs.com/EvansChan/p/7427771.html