转发和重定向的区别
转发:
- 地址栏还是初次请求的地址栏 在最终的servlet中
- request对象和中转的request对象是同一个对象request对象和中转的request对象是同一个对象
- /代表的是当前web应用的根目录 http://localhost:8080/Servlet02--》这是web应用根目录
- 只能转发到当前web应用
重定向:
- 地址栏为最后一次请求的地址
- 在最终的servlet中,request对象和中转的request对象是不是同一个对象
- /代表的是当前web站点的根目录 http://localhost:8080—》这是web站点、
- 可以重定向到外部资源
servlet生命周期方法
构造器方法:只被调用一次,只有第一次请求servlet的时候,创建该servlet实例,调用了构造器。 说明servlet是单实例的。
Init方法:只被调用一次,在创建好实例之后立即调用,用于初始化servlet
.service():被调用多次,每一次请求都会调用service方法,用于响应请求。
destory:只被调用一次,在当前servlet所在web被卸载或者注销前调用,用于释放
Get方法和Post方法的区别
Get:
- 传输有大小限制,最大为1024个字节
- get传输的时候是 key value的形式跟在url后面来实现传输,因此安全性不高
- get再后退的时候不会在发送请求
Post:
- 传输没有大小限制,理论上传送多少数据都可以
- 传递数据是通过http请求的附件进行的,在URL中并没有明文显示。安全性较高
- post在后退时会再次发送请求
Session和cookie的区别
session:
- 客户的数据存放在服务器上,较为安全
- session会在服务器上保存一段时间。当访问量增多的时候,会影响服务器性能
cookie:
- cookie的数据存放在客户的浏览器上,可以通过分析cookie进行cookie欺骗
- 单个cookie的数据不能超过4K,一个浏览器站点大约最多能存储20个cookie
jsp运行原理
本质上就是一个servlet,java的服务端网页,我们可以在html页面中编写java代码
jsp九大内置对象(不需要声明就可以使用的对象)
- request:就是HttpServletRequest的对象,代表客户端请求信息,主要用于接受http协议传送到服务器的数据
- response:HttpServletResponse的对象,代表对客户端的响应
- session:HttpSession的对象,代表浏览器的一次会话
- application:ServletContext对象,代表当前web应用
- config:ServletConfig对象,代表的时候当前servlet,主要用于读取servlet的配置信息
- out:JspWriter对象,调用print方法把字符串打印到浏览器上
- page:指的是当前jsp对应的servlet对象的引用
- PageContext:页面的上下文,可以从该对象中获取8个内置对象
- exception:异常对象,必须指定isErrorPage=“true”,这个对象才能用
四大域对象
域的范围从大到小
- application:是最大的作用范围,范围限于当前web应用,只要在一处设置了属性,在其他servlet或者jsp中都可以获取的到
- session :范围限于一次会话,浏览器打开到关闭成为一次会话(在中间会话不会失效)
- request:范围限于一次请求
- PageContext:仅限于当前页面