离开工具自己手写一个servlet

手写一个servlet可以帮助我们对于sevlet底层的实现有一个基本的认识,对于其目录结构有一个深刻的了解,有助于我们开发中的调试。
这里写图片描述
写个需求,利用Servlet网页动态获取当前时间。

本地Servlet的实现步骤:
1、在Tomacat 的webapp下面建立一个web应用,我们起名字叫做muniu,在该文件夹下。

2、在muniu文件夹下面建立一个文件夹WEB-INF,在WEB-INF里面创建一个web.xml。(该web.xml可以从apache-tomcat-8.0.43\webapps\ROOT\WEB-INFF中拷贝)

3、根据Servlet规范部署Servlet.
在web.xml文件中添加以下代码进行部署。同时更改掉其中的编码机encoding

<!--将Servlet部署到web.xml-->
<servlet>
<!--Servlet的名字(可以自定义,一般与Servlet的名字一致)-->
      <servlet-name>MuNiu</servlet-name>
<!--全名(包名+类名)-->
      <servlet-class>com.sky.servlet.MuNiu</servlet-class>
</servlet>
<servlet-mapping>
<!--与上面的servlet-name保持一致-->
        <servlet-name>MuNiu</servlet-name>
<!--我们访问该servlet的资源名-->
        <url-pattern>/MuNiu</url-pattern>
</servlet-mapping>

4、在WEB-INF目录下建立一个classes文件夹用来存放sevlet(servlet是一个java程序)

package com.sky.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MuNiu extends HttpServlet
{
    //启动函数
    public void init(ServletConfig servletConfig) throws ServletException{

    }

    public ServletConfig getServletConfig(){
        return null;
    }
    //交互服务
    public void service(ServletRequest sq,ServletResponse sp) throws ServletException,IOException{

        sp.getWriter().println("Current Time is"+new java.util.Date());
    }

    public java.lang.String getServletInfo(){
        return null;
    }
    //摧毁函数
    public void destroy(){

    }
}

5、编译servlet(javac -d . MuNiu.java)加上-d .可以讲MuNiu.class编译到对应的包目录下:
这里写图片描述

6、启动tomcat

7、在浏览器中启动查询:
这里写图片描述

以上是继承Servlet接口实现的Servlet,实际我们的开发中,90%是根据继承HttpServlet来写的。
这里写图片描述
、===========动态网页的特点:===================、
动态网页并不是服务器上存在的网页文件,而是当我们请求时,服务器才动态组装返回的一个网页。

动态网页的内容往往是存放在数据库中,根据用户发出的不同请求而提供个性化的网页内容。
这里写图片描述

发布了47 篇原创文章 · 获赞 13 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章