在开始学习Servlet之前,我这里纠正一个我前面文章没有提到细节。那就是Eclipse创建web项目不会自动勾选创建web.xml文件在WEB-INF文件夹里面。这个文件又很重要,我们在学习Servlet必须要编辑这个文件。
1.纠正一下如何在Eclipse上正确创建一个WEB项目
我前面没有提到这个问题,有时候发现你在Eclipse上创建的web项目的WebContent下的WEB-INF下没有web.xml这个文件。这个怎么办呢?
原来我们在Eclipse上创建的过程中,忘记勾选了创建web.xml文件。
这个红圈默认是不勾选的,我们在创建Web动态项目不要在第一个页面就点击Finish,应该一个一个页面去点击Next就可以看到这个勾选。创建好的项目是有这个web.xml文件的。
下面我们来学习Servlet,需要编辑和修改这个web.xml文件。
什么是Servlet
servlet是运行在Web服务器中的小型Java程序,Servlet通常通过HTTP接收和响应来自Web客户端的请求。Servlet本身是一个类。
创建一个Servlet 例子的步骤
1) 写一个Java类实现Servlet接口
在Eclipse的web项目src下新建一个包,然后新建一个类,实现Servlet接口,代码如下。
package com.anthony.servlet;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ServletDemo1 implements Servlet{
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("Hello Servlet.");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
}
}
2) 修改web.xml文件,给Servlet提供一个可访问的URI地址
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<!-- 创建一个Servlet实例 -->
<servlet>
<servlet-name>servletDemo1</servlet-name>
<servlet-class>com.anthony.servlet.ServletDemo1</servlet-class>
</servlet>
<!-- 给当前Servlet提供/映射一个可供客户端访问的URI -->
<servlet-mapping>
<servlet-name>servletDemo1</servlet-name>
<url-pattern>/demo</url-pattern>
<!-- 这个/表示,当前应用下路径,所以/demo实际表示 http://localhost:8080/Servlet01/demo -->
</servlet-mapping>
<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>
</web-app>
注意看上面注释,大致意思就是创建一个叫servletDemo1的Servlet实例,给这个实例映射一个URI,这里我们映射的是/demo
3) 部署应用到tomcat服务器
Eclipse上选择Tomcat服务区,右键添加当前Eclipse web项目,然后启动tomcat服务,自动同步变更到tomcat webapps目录下
4) 测试浏览器打开http://localhost:8080/Servlet01/demo
等tomcat启动完成,打开浏览器,测试http://localhost:8080/Servlet01/demo
效果就是一个空白网页,打印语句“Hello Servlet.”是打印在Eclipse的控制台
效果就是一个空白页面,下面看看Eclipse上控制台输出
最后一行打印出了这个语句,说明我们写的自定义的Servlet类功能起作用,这篇介绍demo就是一个Servlet的体验,具体解释和知识点,后面文章展开来学习。