使用servlet来创建一个简单的不能再简单的例子,来演示一下servlet使用的套路。
需求:
浏览器访问服务器,服务器返回给浏览器一个服务器的当前时间。
工具:
Tomcat7服务器
Eclipse4.7
Maven工具
步骤1:创建项目
右键->New->Maven->Maven Project->Next->
->Next->->Finish
此时项目会报错,是因为没有生成标准的web结构,解决办法:
如果想用Tomcat中的jar包的话,做如下的配置:
开始写项目:
package web;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 想要动态的拼接一个网页,需要servlet组件,该类需要实现servlet接口,
* 而HttpServlet是servlet接口的实现类,所以我们继承HttpServlet类就相当于
* 继承了servlet接口。
* 继承HttpServlet类需要重写service方法。
*/
public class TimeServlet extends HttpServlet {
protected void service(
HttpServletRequest req,
HttpServletResponse res) throws ServletException, IOException {
//告诉浏览器给它发送的是网页
//如果这个格式写错了,浏览器会无法识别,
//它只能让你保存这个文件
res.setContentType("text/html");
PrintWriter out = res.getWriter();
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String now = sdf.format(date);
//此处偷懒了,省略了网页的基本机构
//将来会有改进的方案
out.println("<p>"+now+"</p>");
out.close();
}
}
然后配置一下浏览器上的访问路径:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>Servlet01</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 1.声明Servlet的类型,并给它取一个别名(小名) -->
<servlet>
<servlet-name>time</servlet-name>
<servlet-class>web.TimeServlet</servlet-class>
</servlet>
<!-- 2.通过别名引用Servlet,并给它取一个网名(访问
路径) -->
<servlet-mapping>
<servlet-name>time</servlet-name>
<!-- 网名需要以/开头 -->
<url-pattern>/ts</url-pattern>
</servlet-mapping>
</web-app>
完成以后,在servers视图中右键->Publish(重新部署一下)->启动Tomcat服务器->在浏览器中输入:
http://localhost:8888/Servlet01/ts
此时浏览器上会显示一个服务器发送给浏览器的时间。