手写一个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来写的。
、===========动态网页的特点:===================、
动态网页并不是服务器上存在的网页文件,而是当我们请求时,服务器才动态组装返回的一个网页。
动态网页的内容往往是存放在数据库中,根据用户发出的不同请求而提供个性化的网页内容。