欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

javaweb:servlet

发布时间:2025/6/15 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 javaweb:servlet 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

  1. 每一个servlet都必须实现Servlet接口,GenericServlet是个通用的,不特定于任何协议的Servlet,它实现了Servlet接口,而HttpServlet继承了GenericServlet,因此HttpServlet也实现了Servlet接口,所以我们定义的Servlet只需要集成HttpServlet父类即可。

   2. Servlet接口中定义了service方法,HttpServlet对该方法进行了实现,实现方式是将ServletRequest和ServletResponse转换为HttpServletRequest和HttpServletResponse.

   3. HttpServlet类中所提供的doGet, doPost等方法都是直接返回错误信息,所以我们需要在自己定义的service类中override这些方法。

 

 4. 在Servlet接口中,定义了五个方法,其中三个方法代表了Servlet的生命周期 :

      1). init方法,负责初始化Servlet对象

      2). service方法,负责响应客户的请求

      3). destroy方法,当Servlet对象退出声明周期时,负责释放占用的资源。

 

5. 某些Servlet在web.xml文件中只有<servlet></servlet>元素而没有<servlet-mapping></servlet-mapping>元素,这样我们就无法通过url地址的方式访问这个Servlet, 这种Servlet通过会在<servlet></servlet>元素中配置一个<load-on-startup></load-on-startup>子元素,让容器在启动的时候自动加载该Servlet,并且调用其init方法完成一些全局性的初始化工作

 

6. ServletContext和Web应用关系

   当Servlet容器启动Web应用时,并为每个web应用创建唯一的ServletContext对象。可以把ServletContext看成是一个Web应用的服务器端组件的共享内存。

import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter;@WebServlet(name = "CounterServlet") public class CounterServlet extends HttpServlet {private int count = 0;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext servletContext = request.getServletContext();Object obj = servletContext.getAttribute("count");if(null != obj){count = (int)obj;}count++;response.setContentType("text/html;charset=UTF-8");response.setCharacterEncoding("utf-8");servletContext.setAttribute("count",count);PrintWriter out = response.getWriter();out.println("<html>");out.println("<head> <title>计数器</title></head>");out.println("<body>访问人数:");out.println(count);out.println("</body>");out.println("</html>");} }

 

总结

以上是生活随笔为你收集整理的javaweb:servlet的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。