做网站在哪里申请,企业管理培训免费视频课程,中国网站模板免费下载,广告制作商1、JSP和Servlet有什么区别
jsp经过编译后变成类Servlet#xff08;JSP的本质就是Servelt#xff0c;JVM只能识别java的类#xff0c;不能识别jsp的代码#xff0c;于是web容器将jsp的代码编译成JVM能够识别的java类#xff0c;也就是servelt#xff09;jsp更擅长表现于…1、JSP和Servlet有什么区别
jsp经过编译后变成类ServletJSP的本质就是ServeltJVM只能识别java的类不能识别jsp的代码于是web容器将jsp的代码编译成JVM能够识别的java类也就是serveltjsp更擅长表现于页面显示而servlet更擅长于逻辑控制jsp是servlet的一组简化使用jsp只需要完成程序员需要输出到客户端的内容jsp中的java脚本如何镶嵌到一个类中由jsp容器完成而servlet是个完整的java类这个类的service方法doGetdoPost用于生成对客户端的响应
2、Jsp有哪些内置对象作用是什么
request封装客户端的请求其中包含来自Get或Post请求的参数response封装服务器对客户端的响应pageCOntext通过该对象可以获取其他对象session封装用户对话的对象application封装服务器运行环境的对象out输出服务器响应的输出流对象configWeb应用的配置对象pageJSP页面本身相当于Java程序中的thisexception封装页面抛出异常的对象
3、说一下jsp的4种作用域
page与一个页面相关 的对象和属性。只在当前页面有效所以不能作为在页面间传递数据request代表与web客户端发出的一个请求相关 的对象和属性。请求发送的时候创建请求结束销毁。所以可以在服务端跳转时传递参数数据。 最常用的因为周期短需要在页面显示的临时数据可以置于此作用域session代表某个用户与服务器建立的一次会话 相关的对象和属性。跟某个用户相关的数据应该放在用户自己的session中一般用于登录验证时存放用户状态。用户第一次发起请求时创建用户退出时才销毁application代表与整个Web应用程序相关 的对象和属性。它实质上是跨越整个Web应用程序包括多个页面、请求和会话的一个全局作用域
4、session和cookie的区别
session
HTTP协议时无状态的协议所以服务端需要记录用户的状态时就需要用某种机制来识别具体的用户这个机制就是session。服务端 要为每个不同的用户创建特定的session来标识这个用户。这个session是保存在服务端的有一个唯一标识 。在服务端保存session的方法有很多内存、数据库、文件都可以。当服务器集群的时候如大型的网站会有专门的session服务器集群用来保存用户会话这个时候session是放在内存的使用一些缓存服务来放session
cookie
服务端如何根据session来识别客户呢这时候就要用上cookie了。第一次创建session的时候服务端会在HTTP协议中告诉客户端**需要在cookie里面记录一个session ID ** 以后每次请求把这个session ID发送到服务器这样服务器就能识别这个用户了。如果客户端的浏览器禁用了cookie怎么办这种情况下会使用一种叫做URL重写的技术来进行会话跟踪即每次HTTP交互URL后面都会被附加上一个诸如sidxxxx这样的参数服务端据此来识别用户。
区别
保存的位置不同session是保存在服务端而cookie是保存在客户端存储没人不同cookie只能存储字符串而session存储结构类似于hashtable的结构可以存放任何类型存储大小cookie最多可以放4k大小的内容session没有限制session的安全性要高于cookie。很显然用户信息是很隐秘的东西放在客户端是很危险的。应用场景cookie可以用来保存用户的登录信息如果删除cookie则下一次用户仍需要重新登录session类似于拿着钥匙去开锁拿到的就是我们个人的信息一般可以在session中存放个人的信息或者购物车的信息