Java-Servlet搭建简单服务端

本文介绍如何搭建简单服务端,并通过servlet提供服务。

搭建环境

创建Dynamic Web Project

在Eclipse中创建Dynamic Web Project,项目结构如下图:

Dynamic Web Project

导入Libs

如果需要用到一些外部Jar包,需要拷贝到以下目录:

1
WebContent/WEB-INF/lib

注意,这里不能建子文件夹,需要直接放 Jar 包。

拷贝完成后,Eclipse会自动在目录下生成:

1
Web App Libraries

开发服务

创建HttpServlet服务

创建一个HttpServlet子类,里面包含了doGetdoPost方法,分别对应Get和Post请求。

1
2
3
4
5
6
7
8
9
10
11
12
@WebServlet("/TestService")
public class TestService extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Get Success");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Post Success");
}
}

为了防止乱码,可以加上编码设置:

1
2
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type","text/html;charset=UTF-8");

在web.xml文件中注册

web.xml的目录为:

1
WebContent/WEB-INF/web.xml

注册url映射servlet:

1
2
3
4
5
6
7
8
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>包名.TestService</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>

监听生命周期

有时候,需要监听项目的生命周期,例如启动,关闭等,需要创建listener和在web.xml中注册。

创建listener

创建一个ServletContextListener子类:

1
2
3
4
5
6
7
8
9
public class LifeListener implements ServletContextListener { 
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}

@Override
public void contextInitialized(ServletContextEvent arg0) {
}
}

在web.xml文件中注册

1
2
3
<listener>
<listener-class>包名.LifeListener</listener-class>
</listener>

部署

导出为war文件

在eclipse中,将项目exportwar文件:

1
test.war

部署到Tomcat中

将war文件复制到Tomcat以下目录中:

1
tomcat/webapps/

启动Tomcat

启动Tomcat,在浏览器中输入:

1
http://localhost:8080/test/test

即可看到结果。