Servlet是用于创建动态Web应用程序的Java解决方案,可以与旧的CGI技术进行比较。使用Servlet,我们可以创建一个Web应用程序,该应用程序可以显示来自数据库的信息,可以从Web表单接收要存储在应用程序数据库中的信息。
这个例子展示了servlet的基本知识,它为浏览器返回一个hello world html文档。Servlet至少会具有doPost()anddoGet()方法,用于处理HTTP POST和GET请求。
package org.nhooo.example.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloWorld extends HttpServlet {
public HelloWorld() {
super();
}
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
doPost(req, res);
}
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter writer = res.getWriter();
writer.println("<html>");
writer.println("<head><title>Hello World Servlet</title></head>");
writer.println("<body>Hello World! How are you doing?</body>");
writer.println("</html>");
writer.close();
}
}为了使servlet在诸如Apache Tomcat之类的servlet容器上工作,我们需要在应用程序的web.xml文件中添加或注册servlet 。此配置告诉容器有关我们的servlet类的信息以及将请求映射到servlet的URL。
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" 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"> <display-name>nhooo-example</display-name> <servlet> <description></description> <display-name>HelloWorld</display-name> <servlet-name>HelloWorld</servlet-name> <servlet-class> org.nhooo.example.servlet.HelloWorld </servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
将Servlet部署到容器后,我们可以从URL中以http:// localhost:8080 / app-name / HelloWorld的形式访问它。