servlet 是在服务器上运行的小程序。这个词是在 Java applet 的环境中创造的。虽然后者已很少被使用,但 servlet 却发展的很好。Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Common GatewayInterface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。在通信量大的服务器上,Javaservlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.*;
public class one implements Servlet
{
public void init(ServletConfig config) throws ServletException
{
System.out.println("init");
}
public void service(HttpServletRequest req,HttpServletResponse res) throws Exception
{
System.out.println("service it");
PrintWriter pw = res.getWriter();
pw.println("Hello World!");
}
public void destroy()
{
System.out.println("destroy it");
}
public String getServletInfo()
{
return null;
}
}
2、第二种开发servlet的方法,通过继承GenericServlet来开发的
public class HelloGen extends GenericServlet
{
//重写service方法
public void service(ServletRequest req, ServletResponse res)
{
try
{
PrintWriter pw = res.getWriter();
pw.println("hello,world!");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
3、第三种开发servlet的方法,通过继承HttpServlet
public class HelloHttpServlet extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
//业务逻辑
try
{
//中文乱码
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
pw.println("<html>");
pw.println("<body>");
pw.println("<h1>登录界面</h1>");
pw.println("<from action=?? method=post>");
pw.println("用户名:<input type=text name=username><br>");
pw.println("密码:<input type=text name=passwd><br>");
pw.println("<input type=submit value=loing><br>");
pw.println("</body>");
pw.println("</html>");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
{
this.doGet(req, res);
}
}