Servlet中的一些笔记(cookie和seiion的区别、请求转发和重定向、request和servletContent)

1、cookie

  • 从请求中拿到cookie信息
  • 服务器响应给客户端cookie
  • 一个Cookie只能保存一个信息;
  • 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;
  • Cookie大小有限制4kb;
  • 300个cookie浏览器上限
  • 删除Cookie:不设置有效期,关闭浏览器,自动失效,设置有效期时间为 0 ;

2、session

  • 注销Session,SessionID也会清除,不过又会立刻创建一个新的。
  • 注销语句:session.invalidate();
在web.xml文件中设置Session失效时间.
<session-config>
    <!--设置15分钟失效-->
    <session-timeout>15</session-timeout>
</session-config>

3、session和cookie的区别

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存 (可以保存多个)
  • Session把用户的数据写到用户独占Session中,服务器端保存 (保存重要的信息,减少服务器资源的浪费)
  • Session对象由服务器创建;

4、request

  • HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器
  • HTTP请求中的所有信息会被封装到HttpServletRequest
  • 通过这个HttpServletRequest的方法,获得客户端的所有信息

5、Servlet

6.1、Servlet简介
	Servlet就是sun公司开发动态web的一门技术
	Sun在这些API中提供一个接口叫做: Servlet,
 	如果你想开发一个Servlet程序,只需要完成两个小步骤:
		编写一个类,实现Servlet接口
		把开发好的Java类部署到web服务器中。
	把实现了Servlet接口的Java程序叫做,Servlet。
Sun公司有直接的实现了servlet接口的类,我们直接继承就行。
	分别为:HttpServlet,GenericServlet

关系为:GenericServlet抽象类实现了Servlet接口,然后HttpServlet类继承了
              GenericServlet抽象类

写完类之后,要在web.xml的web-app里面注册servlet:
	<!--注册servlet-->
  <servlet>
    <servlet-name>hello</servlet-name>//和下面的要一样,通过名字访问
    <servlet-class>com.tang.servlet.HelloServlet</servlet-class>//类路径
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>//因为是url,所有一定要加一个/(
	也可以用*.tang等等前缀或者后缀表达式,*在前面的话,不能有/。
	或者用/*,表示通配(*表示任意))
  </servlet-mapping>

优先级问题:
	如果注册了多个servlet,则有实际路径的优先级大于通配的优先级。

6、servletcontext相当于asp.net的session,可以在多个servlet之间共享数据。

7、(父)外面用普通的maven,(子)里面用webpp 模板

8、在webapps中创建文件夹,文件夹中包含web.xml文件首先,然后在上一级目录下添加网页文件即可,通过8080域名+文件夹名字访问(或者再加首页名称)

9、请求转发和重定向的区别

请求转发:
	有A、B、C三个对象。A要获取的资源只有C有,而A只能联系到B,B能
	联系到C,所以A通过联系B,让B把信息转发给C,然后通过B获得C的资源,
	路径没有发生变化。

重定向:有A、B、C三个对象。A要获取的资源只有C有,而A只能联系到B,B能
	联系到C。A联系B想要获取C的资源,B把C的联系方式告诉A,让A直接
	去联系C获取资源,路径发生了变化。
posted @   爱吃雪糕的小布丁  阅读(9)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示