<JavaWeb>Servlet技术简介

笔记总结自网易云课堂Servlet系列课程

什么是Servlet

Servlet == Server + Applet
Applet是采用Java编写的小应用程序,可以内嵌在HTML中,由支持applet的浏览器在客户端运行。
而Servlet指的是在服务器端运行的applet,Servlet类是一个独特的Java类,它本身不包含main方法,不能独立运行于JVM中,需要运行在特殊的容器中,由容器进行管理。编写Servlet程序时,需要遵循Servlet规范。Servlet与HTTP关系紧密,能够处理HTTP请求,并提供HTTP响应。用一句话来总结,即:
一个Servlet是一个Java类,并且提供基于请求-响应模式的Web服务

Servlet容器
Servlet依靠容器运行,而又与容器分离,相互独立发展。
Servlet容器提供Servlet的装载和管理工作,包括Servlet的创建运行和销毁。
而Servlet容器本质上是一个服务器程序,负责将请求分配给对应的Servlet,然后将Servlet运行的结果回传给服务器,服务器再将最后的结果返回给客户端。

Servlet的创建
创建一个Servlet类,需要这个类继承自HttpServlet类,我们可以在tomcat/lib文件目录下找到servlet.jar文件,只要将这个文件添加进IDE的lib中,就可以了,或者我们也可以直接安装Eclipse IDE for Java EE版本链接在此
创建完成之后,重写doGet和service方法。

重写doGet和service方法

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doGet(req, resp);
        PrintWriter pw = resp.getWriter();
        pw.print("hello world");
        pw.close();
    }

之后import进所有需要的库文件,这样,我们的hello world就写好了,想要真实的看到语句的执行结果,需要有服务器的基础知识,即web.xml文件的配置路径和配置方法。web.xml配置一般放在项目目录下WEB-INF文件目录下。这里仅介绍Servlet的配置。

<servlet>
    <servlet-name>Servlet的名字</servlet-name>
    <servlet-class>Servlet类的路径以包的形式来写,比如com.java.helloServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Servlet的名字,与上相同</servlet-name>
    <url-pattern>Servlet对外路径,如/hello</url-pattern>
</servlet-mapping>

接下来,只需要启动Tomcat,部署项目,进行访问就可以了。
如果我们进行跟踪的话,会发现,Servlet在进行访问时,会先调用service方法,再调用doGet方法。

在处理HTTP请求时,servlet容器会根据配置文件web.xml找到servlet地址,并将请求转发给service方法,传入两个参数,如果请求是GET方法,service就会将请求再次转发给doGet方法进行后续的处理工作。最后,我们会使用HttpServletResponse对象将数据返回。这就是一个完整的Servlet处理流程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容