jsp与servlet
一、Servlet简介
java Servlet是和平台无关的服务端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。
Servlet可完成如下功能:
- 创建并返回基于客户请求的动态HTML页面
- 创建可嵌入到现有HTML页面中的部分HTML页面(HTML片段)
- 与其他服务器资源(如数据库或基于java的应用程序)进行通信
二、Servlet快速入门实例
- 创建动态web工程
- 创建java类继承Servlet接口,实现方法
- 在web.xml文件中配置Servlet
运行效果
三、Servlet容器:运行Servlet,jsp,Filter等的软件环境
- 当通过浏览器访问时,Servlet容器创建对应的Servlet,并调用Servlet的相关生命周期方法
- jsp,Filter,Listener,Tag…都运行在Servlet容器里
- Servlet生命周期的方法:以下方法都是由Servlet容器负责调用
- 构造器:只被调用一次,只有第一次请求Servlet时,创建Servlet的实例,调用构造器,这说明Servle是单例的
- init方法:只被调用一次,在创建好实例后立即被调用,用于出事话当前Servlet
- service:被多次调用,每次请求都会调用service方法,实际用于响应请求的
- destroy:只被调用一次,在当前Servlet所在的Web应用被卸载前调用,用于释放当前Servlet所占用的资源
- load-on-startup参数:
- 配置在Servlet节点中
- load-on-startup:可以指定Servlet被创建的时机。若为负数,则在第一次请求是被创建。若为0或正数,则在当前WEB应用被Servlet容器加载时创建实例,且数值越小越早被创建
6. ServletConfig:封装了Servlet的配置信息,并且可以获取ServletContext对象
- 1)配置Servlet的初始化参数
- 2)获取初始化参数:
- getInitParameter(String name):获取指定参数名的初始化参数
- getInitParameterNames():获取参数名组成的Enumerattion对象
- 3)获取Servlet的配置名称(了解)
- String servletName=servletConfig.getServletName();
- 4)ServletContext接口
- 该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的一个大管家,可以从中获取到当前WEB应用的各方面的信息
- 获取当前WEB应用的初始化参数
设置初始化参数:可以为所有的Servlet所获取,而Servlet的初始化参数只用那个Servlet可以获取
方法:getInitParameter
getInitParameterNames
- 获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署前的路径
getRealPath(String path);
- 获取当前WEB应用的名称getContextPath()
- 获取当前WEB应用的某一个文件对应的输入流getResourceAsStream(String path):path的/为当前WEB应用的根目录
- 和attribute相关的几个方法:
- 获取当前WEB应用的初始化参数
- 该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的一个大管家,可以从中获取到当前WEB应用的各方面的信息
标题http协议与GET&POST请求
10.如何在Servlet中获取请求信息:
1)Servlet的service()方法用于应答请求:因为每次请求都会调用service()方法
public void service(ServletRequest request,ServletResponse response)throws ServletException,IOException
ServletRequest:封装了请求信息,可以从中获取到任何的请求信息。
ServletResponse:封装了响应信息,如果想给用户什么响应,具体可以使用改接口的方法实现。
这两个接口的实现类都是服务器给予实现的,并在服务器调用service方法时传入
2)
jsp
这一块的笔记不想做了,做笔记太耗时了