我们用个最简单的Servlet例子来解说一下Servlet简单配置以及Servlet类实现类的写法。
第一,我们新建一个Dynamic Web Project,起名Servlet
点击NEXT,设置Default output folder 为Servlet/WebContent/WEB-INF/classes
第二,创建一个包,包名为Servlet,然后创建一个类名为WelcomeServlet类。(Servlet类当然缺少不了Servlet容器,请注意你的开发软件是否已经集成Servlet容器,比如Tomcat)
注意:将tomcat类库添加入Servlet这个项目中
1、右键点击你需要添加jar包的项目.2、选择“Properties”.3、然后选择对话框中的“Java Build Path”.4、选择“Libraries”选项卡,然后点击右边的“Add Library “.5、选择"选Server Runtime"6、选择 自己已经添加好的 tomcat服务器。5、点击“finish”.
第三,编写实现业务逻辑的Servlet类,即WelcomeServlet。package Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//在实际中99.9999%的servlet类都是继承HttpServlet
public class WelcomeServlet extends HttpServlet{
//实际中99.9%都是覆盖doGet()或者doPost()方法,Servlet从此方法中获取请求和响应对象的引用。
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取页面input框name名为username的值
String name=req.getParameter("username");
//在Servlet从从容器获取的响应对象中,可以获取PrintWriter,使用PrintWriter可以将HTML文本输出到响应对象,也可以是图片。
PrintWriter writer=resp.getWriter();
Date date=new Date();
writer.println("Welcome to Servlet,"+name+"!,Now time is "+date);
}
}
小诀窍:很多人不记得doGet()或doPost()方法参数,这时候我们只需要在类中先打出doGet或者doPost,然后Alt+/,就可以自动联想出这个方法的整体。
第四,编写我们的web项目必不可少的web.xml。其中 我们称为部署名,用来将与绑定在一起。 代表我们需要执行业务逻辑的servlet类的完全限定名,即包名+类名。 客户看到的servlet名称或者是虚构的代表一个servlet。
标签实际作用是将内部名映射到实际类,作用就是请求URL到来时,转发给哪个。<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
WelcomeServlet
Servlet.WelcomeServlet
WelcomeServlet
/welcome
第五,一个简单的HTML页面。将页面放在WebContent下面。
Insert title hereName:
最后,将项目放入tomcat,启动访问http://localhost:8080/Servlet/input.html,然后输出英文名称提交。
注意:我们这里只是简单的配置,缺少乱码处理、错误页面、安全处理、初始化配置等等。