Servlet
*Servlet用于处理客户端发出的请求,Servlet由我们自己编写,但是对象由服务器来创建,
并且由服务器调用相应的方法。
*在servlet中需要:
*接受请求数据
*处理请求
*完成相应
*每个servlet需要实现javax。servlet.Servlet接口。实现接口需要实现5个方法
*3个生命周期方法
//此为“出生方法”即在对象创建时调用,并且只调用一次
public void init(ServletConfig servletConfig) throws ServletException {}
// * 它是生命周期方法,它会被调用多次,每次处理请求都是在调用这个方法!
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {}
// 它也是生命周期方法,它会在Servlet被销毁之前调用,并且它只会被调用一次!
public void destroy() {}
*2个非生命周期方法(不由服务器来调用)
//用来获取Servlet的配置信息
public ServletConfig getServletConfig() { return null;}
//获取Servlet的信息
public String getServletInfo() {return null;}
*在web.xml中配置servlet
<servlet>
//servlet类名(随意) <servlet-name>XXX</servlet-name>
//servlet类的地址 <servlet-class>cn.cf.web.AServlet</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>
<servlet-mapping>
<servlet-name>XXX</servlet-name>
//客户端请求的url <url-pattern>/AServlet</url-pattern>
</servlet-mapping>
*关于ServletConfig对象
**ServletConfig对象对应web.xml文件中的<servlet>元素
**ServletConfig对象是由服务器创建的,然后传递给Servlet的init()方法,你可以在init()方法中使用它!
**String getServletName():获取Servlet在web.xml文件中的配置名称,即<servlet-name>指定的名称;
? ServletContext getServletContext():用来获取ServletContext对象。
?String getInitParameter(String name):用来获取在web.xml中配置的初始化参数,通过参数名来获取参数值;
?Enumeration getInitParameterNames():用来获取在web.xml中配置的所有初始化参数名称;
在<servlet>元素中还可以配置初始化参数:
**域对象之ServletContext
*如何获取: ServletContext context = this.getServletContext();
*该对象方法:
*void setAttribute(String name, Object value)用来存储一个对象,也可以称之为存储一个域属性
*Object getAttribute(String name):用来获取ServletContext中的数据
*void removeAttribute(String name):用来移除ServletContext中的域属性,如果参数name指定的域属性不存在,
那么本方法什么都不做
*Enumeration getAttributeNames():获取所有域属性的名称
**该域对象可以获取设置公共属性:
*在web.xml中设置公共参数:
<context-param>
<param-name>paramName1</param-name>
<param-value>paramValue1</param-value>
</context-param>
*Servlet用于处理客户端发出的请求,Servlet由我们自己编写,但是对象由服务器来创建,
并且由服务器调用相应的方法。
*在servlet中需要:
*接受请求数据
*处理请求
*完成相应
*每个servlet需要实现javax。servlet.Servlet接口。实现接口需要实现5个方法
*3个生命周期方法
//此为“出生方法”即在对象创建时调用,并且只调用一次
public void init(ServletConfig servletConfig) throws ServletException {}
// * 它是生命周期方法,它会被调用多次,每次处理请求都是在调用这个方法!
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {}
// 它也是生命周期方法,它会在Servlet被销毁之前调用,并且它只会被调用一次!
public void destroy() {}
*2个非生命周期方法(不由服务器来调用)
//用来获取Servlet的配置信息
public ServletConfig getServletConfig() { return null;}
//获取Servlet的信息
public String getServletInfo() {return null;}
*在web.xml中配置servlet
<servlet>
//servlet类名(随意) <servlet-name>XXX</servlet-name>
//servlet类的地址 <servlet-class>cn.cf.web.AServlet</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>
<servlet-mapping>
<servlet-name>XXX</servlet-name>
//客户端请求的url <url-pattern>/AServlet</url-pattern>
</servlet-mapping>
*关于ServletConfig对象
**ServletConfig对象对应web.xml文件中的<servlet>元素
**ServletConfig对象是由服务器创建的,然后传递给Servlet的init()方法,你可以在init()方法中使用它!
**String getServletName():获取Servlet在web.xml文件中的配置名称,即<servlet-name>指定的名称;
? ServletContext getServletContext():用来获取ServletContext对象。
?String getInitParameter(String name):用来获取在web.xml中配置的初始化参数,通过参数名来获取参数值;
?Enumeration getInitParameterNames():用来获取在web.xml中配置的所有初始化参数名称;
在<servlet>元素中还可以配置初始化参数:
**域对象之ServletContext
*如何获取: ServletContext context = this.getServletContext();
*该对象方法:
*void setAttribute(String name, Object value)用来存储一个对象,也可以称之为存储一个域属性
*Object getAttribute(String name):用来获取ServletContext中的数据
*void removeAttribute(String name):用来移除ServletContext中的域属性,如果参数name指定的域属性不存在,
那么本方法什么都不做
*Enumeration getAttributeNames():获取所有域属性的名称
**该域对象可以获取设置公共属性:
*在web.xml中设置公共参数:
<context-param>
<param-name>paramName1</param-name>
<param-value>paramValue1</param-value>
</context-param>