Java基础(四)
JSP九大内置对象
内置对象名 | 类型 |
---|---|
request | HttpServletRequest |
response | HttpServletResponse |
out | JspWriter |
session | HttpSession |
application | ServletContext |
pageContext | PageContext |
page | Object |
config | ServletConfig |
exception | Throwable |
输入输出类对象
request
(HttpServletRequest实例对象)
作用域:Request
,该对象代表了客户端的请求信息,主要用于接收通过HTTP协议传送到服务器的数据
- String getParameter(String name)
- Object getAttribute(String name)
- void set Attribute(String name, Object)
- String getCharacterEncoding()
- void setCharacterEncoding("utf-8")
- String getRemoteAddr()
- getRequestDispatcher(String location).forward(req, resp):属于请求转发(服务器端转发),客户端产生一次请求,转发后请求对象会保存,地址栏URL不变response
(HttpServletResponse实例对象)
作用域:Page
,该对象代表了客户端的响应,主要将JSP容器处理过的对象回传到客户端
- PrintWriter getWriter():返回可以向客户端输出字符的一个对象
- sendRedirect(String location):属于请求重定向(客户端重定向),客户端产生两次请求,第一次请求对象不保存,地址栏URL不变out
(JspWriter实例对象)
作用域:Page
,用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区
- void println():向客户端打印字符串
- void flush():将缓冲区内容输出到客户端
- void close():关闭输出流
通信控制对象
session
(HttpSession)
作用域:Session
,由服务器自动创建的与请求相关的对象。服务器为每一个用户都生成一个session对象,用于保存该用户的信息,跟踪用户状态
- setAttribute()
- getAttribute()
- session销毁:1.调用session.invalidate()方法
2.session过期
3.服务器重启
- 设置超时时间:
1.setMaxInactiveInterval(秒)
2.web.xml配置:<session-config><session-timeout>10</session-timeout></session-config>
application
(ServletContext实例对象)
作用域:application
,类似于系统的全局变量,可将信息保存在服务器中,直到服务器关闭
- setAttribute(String name, Object value)
- getAttribute(String name)pageContext
(PageContext实例对象)
作用域:page
,作用是取得范围内的参数,访问JSP质检的共享数据
- setAttribute(String name, int scope)
- getAttribute(String name,int scope)
其中scope默认为page,可以是如下4个值:
1.PageContext.PAGE_SCOPE:对应于page范围。
2.PageContext.REQUEST_SCOPE:对应于request范围。
3.PageContext.SESSION_SCOPE:对应于session范围。
4.PageContext.APPLICATION_SCOPE:对应于application范围。
Servlet对象
page
(Object实例对象)
作用域:page
,代表JSP本身config
(ServletConfig实例对象)
作用域:page
,主要作用是取得服务器的配置信息
错误处理对象
exception
(Throwable实例对象)
作用域:page
,显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用
什么是Cookie,有哪些常用的方法
Cookie是一种会话技术,用于存储会话数据,会话数据保存在浏览器客户端
常用函数:
1.void setPath(String url)
:设置cookie的邮箱访问路径
2.void setMaxAge(int expiry)
:设置cookie有效时间,以秒为单位
3.void setValue(String newValue)
:设置cookie的值
Session和Cookie的区别是什么
- cookie数据存放在客户的浏览器上,session数据放在服务器上
- cookie不是很安全,可以分析存放在本地的cookie,并进行cookie欺骗,安全性较高的场景建议用session
- session会在一定时间内保存在服务器上,当并发访问增多是,会比较占用服务器性能,需要保证服务器性能的场景建议使用cookie
- 单个cookie保存的数据不能超过4k,大多数浏览器限制一个站点最多保存20个cookie
Jsp中转发和重定向的区别是什么
- 重定向时浏览器地址会改变,转发时不改变
- 重定向时网址可以是任何网址,转发时网址必须是本站点网址
- 重定向实际上产生了两次请求,转发只有一次请求
Jsp与Servlet从编译的角度来看有什么区别
Jsp是Servlet技术的扩展,本质上就是Servlet的简易方式,Jsp编译后是类Servlet
Servlet和Jsp的主要不同点在于:
1.Servlet的应用逻辑是在Java文件中,并且完全从表示层中的Html里分离开来;Jsp是Java和Html组合成的一个扩展名为.jsp的文件
2.Jsp侧重于视图,Servlet主要用于控制逻辑
Html中form里的action方法的get和post有什么区别
- 请求参数存放的位置不同,get必须放在url后面,post方式放在请求实体内容中
- 请求参数的长度限制不同,get方式有长度限制,post没有
- post方式提交的数据更安全
- get方式的url可以传播,post方式不可以
Jquery对象和Dom对象是怎样转换的
两种方式:
[index]
和get(index)
1.jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象
var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
2.jQuery本身提供,通过.get(index)方法,得到相应的DOM对象 ```javascript
var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
DOM对象和jQuery对象是怎样转换的
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象