1.init(servletConfig config)方法(核心) 对实例进行初始化,由方法2得到的对象作为参数,以便进行servlet的正确初始化。整个周期执行一次
2.servletconfig getServletConfig() 获得servlet配置信息对象
servlet服务器启动的时候,系统会自动把整个servlet的web.xml配置文件中的配置信息封装成一个对象,该对象实现了servletConfig接口
3.service()(核心)服务方法,对servlet发送一次请求就执行一次,整个周期执行n次
4.getServletInfo();获得servlet的一个描述
5.destroy()(核心);服务器暂停或者程序结束运行,释放暂用的内存。
在Servlet接口中还存在三个我们不熟悉的类型:
1.ServletRequest:service() 方法的参数,它表示请求对象,它封装了所有与请求相关的数据,它是由服务器创建的;
2.ServletResponse:service()方法的参数,它表示响应对象,在service()方法中完成对客户端的响应需要使用这个对象;
3.ServletConfig:init()方法的参数,它表示Servlet配置对象,它对应Servlet的配置信息,那对应web.xml文件中的<servlet>元素。
1.String getParameter(String paramName):获取指定请求参数的值;
2.String getMethod():获取请求方法,例如GET或POST;
3.String getHeader(String name):获取指定请求头的值;
4.void setCharacterEncoding(String encoding):设置请求体的编码!因为GET请求没有请求体,所以这个方法只只对POST请求有效。当调用request.setCharacterEncoding(“utf-8”)之后,再通过getParameter()方法获取参数值时,那么参数值都已经通过了转码,即转换成了UTF-8编码。所以,这个方法必须在调用getParameter()方法之前调用!
1.PrintWriter getWriter():获取字符响应流,使用该流可以向客户端输出响应信息。
2.ServletOutputStream getOutputStream():获取字节响应流,当需要向客户端响应字节数据时,需要使用这个流,例如要向客户端响应图片;
3.void setCharacterEncoding(String encoding):用来设置字符响应流的编码,例如在调用setCharacterEncoding(“utf-8”);之后,再response.getWriter()获取字符响应流对象,这时的响应流的编码为utf-8,使用response.getWriter()输出的中文都会转换成utf-8编码后发送给客户端;
4.void setHeader(String name, String value):向客户端添加响应头信息
5.void setContentType(String contentType):该方法是setHeader(“content-type”, “xxx”)的简便方法,即用来添加名为content-type响应头的方法。
6.void sendError(int code, String errorMsg):向客户端发送状态码,以及错误消息。
ServletConfig对象对应web.xml文件中的<servlet>元素。例如你想获取当前Servlet在web.xml文件中的配置名,那么可以使用servletConfig.getServletName()方法获取!
ServletConfig对象是由服务器创建的,然后传递给Servlet的init()方法,你可以在init()方法中使用它!
1.String getServletName():获取Servlet在web.xml文件中的配置名称,即<servlet-name>指定的名称;
2.ServletContext getServletContext():用来获取ServletContext对象,ServletContext会在后面讲解;
3.String getInitParameter(String name):用来获取在web.xml中配置的初始化参数,通过参数名来获取参数值;
4.Enumeration getInitParameterNames():用来获取在web.xml中配置的所有初始化参数名称;
在<servlet>元素中还可以配置初始化参数:
<servlet>
<servlet-name>One</servlet-name>
<servlet-class>cn.cloud.servlet.OneServlet</servlet-class>
<init-param>
<param-name>paramName1</param-name>
<param-value>paramValue1</param-value>
</init-param>
<init-param>
<param-name>paramName2</param-name>
<param-value>paramValue2</param-value>
</init-param>
</servlet>
在OneServlet中,可以使用ServletConfig对象的getInitParameter()方法来获取初始化参数。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习