一、Servlet概览
什么是Servlet
(1) Servlet是提供基于协议的请求/响应服务的java类
(2) HTTP servlets是能被HTTP命令调用的servlet
二、理解servlet生命周期
Servlet生命周期通过Web容器控制
简单的概括这就分为四步:servlet类加载--->实例化--->服务--->销毁。
三、HTTP Servlet示例
(1)HTTP servlet继承自Httpservlet
(2)每一次请求都通过servlet容器调用服务方法
servlet示例:
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet{ public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ //process request,generate response } }
四、HttpServletRequest接口
HttpServletRequest接口代表了从客户来的请求处理HTTP请求的servlet示例:
import javax.servlet.*;import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet{ public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ String server=req.getServerName(); int port=req.getServerPort(); Enumeration headers=req.getHeaders(); String method=req.getMethod(0); String query=req.getQueryString(); String param1=req.getParameter("p1"); } }
五、HttpServletResponse接口
HttpServletResponse接口代表Servlet的响应
处理HTTP请求的servlet示例:
import javax.servlet.*;import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet{ public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ res.setContentType("text/html"); printWriter out=res.getWriter(); res.setBufferSize(1024); res.addHeader("headerName","value"); res.sendError(404,"error message"); }
我们接下来看一个简单的servlet示例:
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet{ public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ res.setContentType("text/html"); printWriter out=res.getWriter(); out.println("<html>"); out.println("<head><title>simgle page</head></title>"); out.println("<body>"); out.println("<h1><center>Hello World</center></h1>"); out.println("</body>"); out.println("</html>"); }
那么如何声明和配置Servlets
(1) Servlet 是在web.xml部署描述文件中注册和配置的声明和映射一个servlet的示例:
<web-app> <servlet> <servlet-name>myservlet</servlet_name> <servlet-class>myPackage.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet_name> <url-pattern>servlet</url-pattern> </servlet-mapping> </web-app>
这个servlet能通过使用下面的URL调用他
http://www.bea.com:7001/servlet1
如果MyWebApplication不是默认的web应用:
http://www.bea.com:7001/MyWebApplication/servlet1
那么servlet的生命周期与接口我们就介绍到这,关于servlet的其它内容,接下来的博客会完善