JSP之Servlet
来源:互联网 发布:idea web sql 编辑:程序博客网 时间:2024/06/05 16:42
认识Servlet
1、Servlet是JavaWeb三大组件之一(Servlet,Filter,Listener)
2、Servlet是用来处理客户端请求的动态资源,其认为有:获取请求数据、处理请求、完成响应
3、Servlet接口方法:void init(ServletConfig)、void service(ServletRequest,ServletResponse)、void destory()、ServletConfig getServletConfig()、String getServletInfo()
实现Servlet的方式
1、实现Servlet接口
2、继承GenericServlet类
3、继承HttpServlet类(最常使用)
Servlet生命周期
在Servlet的5个方法中有3个是生命周期方法:init(初始化)、service(服务)、destroy(销毁)
Servlet的创建
当Servlet第一次被请求(默认情况),或服务器启动时(配置web.xml)Servlet实例就会被创建。
一个Servlet类只有一个实例,Servlet是单例的。
Servlet初始化
当服务器创建Servlet实例后马上会调用Servlet中的init(ServletConfig)方法,完成Servlet的初始化,该方法之后执行一次。
Servlet处理请求
当Servlet被请求时,服务器会调用Servlet中的service(ServletRequest,ServletResponse)方法来响应请求,该方法在每次请求都会被调用。一个Servlet可以同时被多个请求所调用,它是多线程的。
Servlet的销毁
服务器通常不会销毁Servlet,只有在关闭服务器时调用Servlet中destroy()方法来销毁Servlet
ServletConfig
ServletConfig是Servlet中init()方法中的参数,服务器在调用时会传入该参数,这个对象中封装了Servlet在web.xml中的配置信息,一个ServletConfig对应一个<Servlet>,可以通过该对象得到一个Servlet的相关配置信息:
String getServletName()得到Servlet的配置名称,对应<servlet-name>
ServletContext getServletContext() 得到ServletContext对象
String getInitParameter(String name) 传入参数名称,获得初始化参数值
Enumeration getInitParameterNames() 获取所有初始化参数名称
在web.xml文件中可以配置多个初始化参数,其位置在标签<servlet></servlet>之间。如:
<servlet> <servlet-name>Servlet名称</servlet-name> <servlet-class>Servlet路径</servlet-class> <init-param>//第一个初始化参数 <param-name>p1</param-name> <param-value>v1</param-value> </init-param> <init-param>第二个初始化参数 <param-name>p2</param-name> <param-value>v2</param-value> </init-param></servlet>
ServletContext
ServletContext是三大域对象之一,它在服务器启动是创建,在服务器关闭时销毁,一个JavaWeb应用只创建一个ServletContext对象,它的功能是存储数据、读取web.xml的初始化参数、读取应用资源。
获取ServletContext
ServletContext sc = getServletContext(); ServletContext sc = getServletConfig().getServletContext();
获取数据
因为在一个JavaWeb应用中,只有一个ServletContext对象,所以在ServletContext中保存的数据可以共整个JavaWeb应用中的动态资源共享,该对象中存在Map,使用key-->value的形式存储值:
void setAttribute(String name,Object value);//存储值Object getAttritube(String name);//取出值void removeAttribute(String name);//移除值
还可以获取web.xml文件中的应用初始化参数(注意区别于ServletConfig中的参数参数值)
<context-param> <param-name>name</pararm-name> <param-value>value</param-value></context-param> servletContext.getInitParameter("name"),返回value servletContext.getInitParameterNames(),得到所有初始化参数名称,返回Enumeration<String>
下面几张图片有助于理解Servlet
- JSP之Servlet
- Java之Jsp、Servlet
- JSP之Servlet概述
- jsp, servlet之helloworld
- Servlet/jsp之监听器
- jsp servlet之hello world
- J2ee之jsp+Servlet配置
- 细小知识点之JSP&Servlet
- jsp学习笔记之servlet
- Jsp之三 servlet基础
- jsp+servlet之内置对象
- Jsp学习之Servlet基础
- JavaEE之Servlet&JSP篇
- 从头开始之JSP+Servlet
- javaWeb之jsp转化servlet
- JAVA进阶之Servlet、JSP
- 深入理解Servlet/JSP之“Servlet和JSP原理”
- Java面试题之Servlet&JSP篇
- Git \Github使用文档
- Eclipse调背景色
- mingw编译ffmpeg+x265过程记录
- Java Properties类
- Android动画之三:Property Animation(上)
- JSP之Servlet
- python +Django 搭建web开发环境初步,显示当前时间
- java线程池的使用
- OpenGl学习笔记4之通用的视图变换函数(glLoadIdentity,glMatrixMode)
- webkit浏览器常见开发问题
- kd-tree和K近邻
- POJ3414 Pots BFS
- 二进制文件和ASCII文件有何区别
- int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”