首页 > 数据库 > 数据库开发技术 > 第一个Servlet程序

前几天准备学习SSH框架,可是发现它需要先学习一些其他的基础知识,比如 HTML、 CSS、 JSP以及 Servlet等。接下来我们就一起来学习 Servlet&JSP的一些知识。这部分的内容知识点很多来自 Servlet、JSP和SpringMVC初学指南一书,如果有些地方说的不太详细,大家可以去参考这本书。接下来我们就开始第一个 Servlet程序吧!不过在开始之前,我们还是得预热一下 Servlet的知识。 Servlet技术的核心就是 Servlet接口,它是所有 Servlet类必须直接或间接实现的一个接口。这个接口中声明了如下5个方法,其中包括:
三个生命周期方法:
● void init(ServletConfig config) throws ServletException:当该Sservlet第一次被请求时,
Servlet容器会调用这个方法。这个方法在后续请求中不会被再次调用。换句话说,就是该方法只会执行一次。
我们可以利用该方法来做一些初始化的工作。
● void service(ServletRequest reqeust, ServletResponse response) throws
ServletException, java.io.IOException:每当请求Servlet时,Servlet容器就会调用这个方法。
第一次请求Servlet时,Servlet容器调用init方法和service方法。后续的请求只会调用service方法。
● void destroy():当要销毁Servlet时,Servlet容器就会调用这个方法。当要卸载应用程序时,
或者当要关闭Servlet容器时,就会发生这种情况。一般在这个方法中编写清除代码。
两个非生命周期方法
● java.lang.String getServletInfo():该方法返回Servlet的描述。你可以返回有用或为null的任意字符串。
● ServletConfig getServletConfig():这个方法会返回由Servlet容器传给init方法的ServletConfig。
但是,为了让该方法返回一个非null值,必须将传给init方法的ServletConfig赋给一个类级变量。
OK,第一个 Servlet程序,简单明了,直接上代码:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
/**
* Servlet implementation class MyServlet
*/
@WebServlet(name = "MyServlet", urlPatterns = {"/my"})
public class MyServlet implements Servlet {
private transient ServletConfig servletConfig;
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
/**
* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Servlet#getServletConfig()
*/
public ServletConfig getServletConfig() {
return servletConfig;
}
/**
* @see Servlet#getServletInfo()
*/
public String getServletInfo() {
return "My Servlet";
}
/**
* @see Servlet#service(ServletRequest request, ServletResponse response)
*/
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
String servletName = servletConfig.getServletName();
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.print("<html><head></head>" + "<body>Hello from " +
servletName + "</body></html>");
}
}
首先我们注意到这句代码:
@WebServlet(name = "MyServlet", urlPatterns = {"/my"})
name属性中我们可以填写类名,这个都是次要的,最关键的是 urlPatterns属性,该属性可以用于在浏览器中访问你的应用程序,但是前提是你得在你的电脑上部署好Tomcat服务器,然后将你的项目部署到Tomcat安装目录下的 webapps目录下就可以访问了,如果你还没有安装Tomcat服务器的话,请移步下方阅读原文看Tomcat的安装教程。比如: http://localhost:8080/你的项目名称/my就可以访问上述第一个 Servlet程序了。运行该项目后会在浏览器中显示 HellofromMyServlet字符串,是通过 service方法将字符串发送给浏览器的。对于每一个针对 Servlet进来的HTTP请求,都会调用 service方法。
在浏览器中输入:http://localhot:8080/HttpHeaderResponse/my,得到如下结果:

恭喜你,你已经成功编写并正确运行了你的第一个Servlet程序!
原文作者:数据派探险家;如有侵权,请联系管理员删除。