Web Application简介:web
Web Application Name
WEB-INF
web.xml
该web application的配置文件
lib
该web application用到的依赖包
classes
编译好的servlet
META-INF
存放该web application的上下文信息,符合J2EE标准
Web Application能够直接放在Tomcat的webapp目录下面
也能够经过配置文件指定到其余目录 在server.xml文件中<host>标签中<Context path=“/虚拟路径名称“ docBase=”web application目录位置" debug="0" reloadable="true"/>编程
HttpServlet:小程序
Servlet是服务器小程序的意思
用来完成B/S架构下,客户端请求的响应的处理
跨平台,一般以多线程方式运行
Servlet API为Servlet提供了统一的编程接口
Servlet通常在容器中运行,Servlet的生命周期由容器管理
常见的Servlet容器
Tomcat
Resin
Jetty数组
HttpServetl继承了GenericServlet
GenericServlet类是全部Servlet的祖先类
HttpServlet主要方法
请求处理方法:(分别对应http协议的7种请求)
一、doGet 响应Get请求,经常使用
二、doPost 响应Post请求,经常使用
三、doPut 用于http1.1协议
四、doDelete 用于http1.1协议
五、doHead 仅响应Get请求的头部。
六、doOptions 用于http1.1协议
七、doTrace 用于http1.1协议
service方法,当请求一个Servlet首先到达该方法,该方法再分发到相应的处理方法安全
Servlet生命周期服务器
生命全过程:cookie
加载Servlet并实例化 new
初始化 init
处理请求 service doGet doPost
退出服务 destroy()
注意Servlet只实例化一次
init方法也只执行一次
Servlet不是线程安全的多线程
Cookie架构
Cookie:保存到客户端的一个文本文件,与特定客户相关
Cookie以“名-值”对的形式保存数据
建立Cookie:new Cookie(name,value)
可使用Cookie 的setXXX方法来设定一些相应的值
setName(String name)/getName() //设置名字
setValue(String value)/getValue() //设置值
setMaxAge(int age)/getMaxAge() //设置存放的时间,以秒为单位
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookies()方法来读取客户端的全部Cookie,返回一个Cookie数组app
务器能够向客户端写内容,只能是文本内容
客户端能够阻止服务器写入,禁用Cookies
只能读取本身webapp写入的东西
Cookie分为两种
属于窗口/子窗口(放在内存中的)
属于文本(有生命周期的)
一个servlet/jsp设置的cookies可以被同一个路径下面或者子路径下面的
servlet/jsp读到,其余路径没法读取到
// 举个例子:
请求的路径是 http:localhost:8080/test/testcookie
test:项目名称 testcookie:web.xml中的虚拟路径就是mapping中配置的
咱们在mapping中在加个路径为 /testcookie/testcookie2 这样咱们也是能访问到cookie的,
若是咱们 请求的路径是 http:localhost:8080/tt/test/testcookie
tt:项目名称 test/testcookie:web.xml中的虚拟路径就是mapping中配置的
咱们在mapping中在加个路径为 /testcookie/testcookie2 这样咱们是不能访问到cookie的,
由于 一个servlet/jsp设置的cookies可以被同一个路径下面或者子路径下面的servlet/jsp读到,其余路径没法读取到