java:Servlet基本概念

1、Servlet生命周期
Servlet是运行在服务器上的类
1)创建:客户端发送一个请求,如果是Servlet,tomcat会去sevlet容器中查询该sevlet实例,若不存在,会在jvm中加载class,调用servlet构造方法,再调用init方法初始化servlet。
2)处理: sevlet容器,会调用servlet中的service方法,该方法在接口中进行定义,然后根据不同的(get/post)来响应doget/dopost方法
3)销毁:响应消息到客户端,调用destroy方法,销毁servlet实例
2、GET请求方式
根据http规范,get用于信息获取,是安全和幂等的。
1、安全意味着该操作是用来获取信息而非修改信息。
2、幂等意味着对同一url的多个请求应该返回同样的结果
3、post请求区别
根据http规范,post可以提交表单,可能修改服务器上的资源请求
get和poat的区别(较浅层次)
1、get刷新无害,post刷新会重新提交表单数据
2、get书签可以收藏,post不能缓存
3、编码类型不同:
get application/x-www-form-url
post encodedapplication/x-www-form-urlencoded 或 multipart/form-data
4、get历史参数保留在浏览历史中,post不会
5、get对数据长度有限制(2048字符),只允许ASCLL字符,post没有限制
6、post比get更安全,get会将某些重要信息(密码)显示url中,参数也会保存在历史浏览记录中。
4、请求转发
1、客户端将请求发送给servlet1,servlet1收到请求完成了一部分工作,剩下的工作请求转发给servlet2继续处理。
2、servlet2完成所有工作后,将结果反馈给客户端。
3、由于客户端并没有发送请求给servlet2,所以给用户的感觉就是servlet1给他反馈的结果。
请求转发使用语句:
requext.setAttribute(“username”,username);//将用户姓名进行转发
request.getRequestDispatcher("/welcome.jsp").forward(request, response);//转发到指定页面
5、重定向
过程:
1、客户端向sevlet1发起请求,servlet1能力有限告诉客户端去找servlet2吧。
2、客户端收到消息将请求发送给servlet2,servlet处理完结果后将结果反馈给客户端
重定向使用语句:response.sendRedirect(“重定向的路径”);
请求转发和重定向之间的区别
1、请求次数: 请求转发请求1次,重定向转发了2次。
2、请求转发: 请求转发可以转发信息,重定向不可以。
3、绝对路径: 请求转发是项目的根路径,重定向是服务器的根路径
6、cookie
过程:
1、客户端请求servlet会带上已有的Cookie
2、servlet可以读取客户端请求所带的Cookie。
3、servlet向客户端下达Cookie的指令,客户端会把cookie的内容存放在浏览器上
说白了,cookie甜点,可以让用户尝到一点甜头,可以实用户免登录功能
7、session
过程:
1、Client请求中包含已有的Session的id,发送到sevlet中
2、Servlet会根据Sessionid判断是否存在已有的session,若没有会创建新的Session。
3、Servlet会告诉客户端让客户端在Cookie中写一个Sessionid,此时cookie会记录一个Sessionid
cookie和session的区别
1、cookie保存在客户端,session在服务端和客户端都有
2、cookie保存的数据类型是字符串,session中保存的是object
3、cookie用于保存不重要的信息,session用来保存重要信息

发布了34 篇原创文章 · 获赞 21 · 访问量 1939

猜你喜欢

转载自blog.csdn.net/qq_44156131/article/details/103235527