Servlet学习说明

Posted claduxyz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet学习说明相关的知识,希望对你有一定的参考价值。

一、配置

1.基于web.xml的方式

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>com.claudxyz.servlet.MyServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/myServlet</url-pattern>
</servlet-mapping>

 

2.基于注解 

@WebServlet("/demo")
public class MyServlet implements Servlet {

}

 

二、加载顺序

1.构造方法,web容器通过反射调用无参的构造方法创建对象

2.init(),类似于单例模式,只创建一次

3.service(),请求几次,访问几次

4.destroy(),web容器关闭调用

 

三、servletConfig

1.getInitParameter() 获取web.xml servlet下的init_param

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>com.claudxyz.servlet.MyServlet</servlet-class>
    <init-param>
        <param-name>name</param-name>
        <param-value>admin</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>root123</param-value>
    </init-param>
</servlet>

2.getInitParameterNames() 获取参数名称

3.getServletName() 获取servlet全类名

4.getServletContext() 获取servlet上下文对象ServletContext对象。对象包括整个web服务器的信息。

5.ServletConfig和ServletContext区别:ServletConfig作用于单个serlvet,其中包括getInitParameter()取的是serlvet下的init-param,而ServletContext的getInitParameter()取的是全局的context-param的值

<context-param>
    <param-name>username</param-name>
    <param-value>bigadmin</param-value>
</context-param>

 

四、servlet层次

Servlet --> GenericServlet --> HttpServlet

Servlet存在冗余的方法,GenericServlet实现了Serlvet并抽象了service方法,去除了用户不关心的方法。

HttpServlet extends GenericServlet,通过向下转型,使ServletRequest转换成HttpServletRequest,ServletReponse转换成HttpServletReponse,为的就是使用HttpServletRequest的getMethod方法,为的就是判断前台请求是GET、POST or 其他的类型。

后期使用servlet直接继承HttpServlet即可。

以上是关于Servlet学习说明的主要内容,如果未能解决你的问题,请参考以下文章

JSP 学习笔记

以下代码片段 C++ 的说明

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

Servlet类源码说明

学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;

JSP与Servlet的介绍说明