Servlet简介2011-01-15Servlet是Java技术在CGI编程方面的一个解决之道。Servlet是在服务器端运行的程序,可产生动态的内容输出,相对于使用传统的CGI编程,Servlets有不少的优点:效率:使用传统的CGI编程,对于每个HTTP请求都会打开一个新的进程,这样将会带来性能和扩展性的问题。使用Servlets,由于Java VM(Java虚拟机)是一直运行的,因此开始一个Servlet只会创建一个新的Java线程而不是一个系统进程功能强大--相对于传统的CGI,由于有着广泛的Java API支持,Servlets可做到传统CGI很困难甚至不能做的事。Servlets可轻松做到共享数据、维护信息、跟踪session等。安全--Servlets通过Servlet引擎在一个受到限制的环境下运行,与Web浏览器对applet的限制相似。这可以避免恶意Servlets的破坏。花费--对于个人或者流量不大的站点来说,有不少“免费”或者低价的web服务器可供选择。如果你已经有一个web服务器,你可以很容易加入Servlet技术的支持,而且价格很便宜。可移值性--Sevlet API得益于Java平台,这是一个相当简单的API,几乎被所有的Web浏览器支持,因此Servlets可以轻松地在平台间移植,而且通常都无需作任何的修改。简单说来,Servlet是一个Java类,需要被称为Servlet引擎的Java虚拟机执行。Servlets被调用时,就会被引擎装载,并且一直运行直到Servlet被显式卸下或者引擎被关闭。建立一个ServletServlet技术发展很快,是服务器端编程的一个非常好的选择,而且有着以上种种好处,相信你也有点心动了吧,以下就让我们来看一下一个简单的servlet;import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
out.println("");
out.println("");
out.println("");
out.println(" <h1>Hello World!</h1>");
out.println("");
}
}要点:1、HelloWorld类继承了HttpServlet2、我们覆盖了doGet方法3、该Servlet的输出是一段静态的文本4、doGet接收HttpServletRequest和HttpServletResponse作为参数,它们是在一个客户提交一个请求时,由服务器创建的。