离开工具自己手写一个servlet

来源:互联网 发布:福岛 知乎 编辑:程序博客网 时间:2024/05/19 18:38

手写一个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来写的。
这里写图片描述
、===========动态网页的特点:===================、
动态网页并不是服务器上存在的网页文件,而是当我们请求时,服务器才动态组装返回的一个网页。

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

0 0
原创粉丝点击