各位老大,写了一个servlet,但我没有请求他也会不停的执行doget方法,请教中……
 代码:web.xml
 <servlet>
    <servlet-name>TestServer</servlet-name>
     <servlet-class>com.straw.frame.system.servlet.ReportValid</servlet-class>
    <load-on-startup>0</load-on-startup>
 </servlet>
 <servlet-mapping>
    <servlet-name>TestServer</servlet-name>
    <url-pattern>/TestServer</url-pattern>
 </servlet-mapping>
 servlet:
 public class ReportValid extends HttpServlet {
   public ReportValid() {
   super();
 }
   public void destroy() {
    super.destroy();
   }
   public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   System.out.println("测试成功2");
   super.doGet(request, response);
 } public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   System.out.println("测试成功3");
    super.doPost(request, response);
 } public void init() throws ServletException {
       super.init();
 }
 }
 异常点:tomcat一启动后后台就不停的打印"测试成功2";servlet

解决方案 »

  1.   

       public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
       System.out.println("测试成功2");
       super.doGet(request, response);
     }貌似这里就是无限循环。
      

  2.   

    你的doPost和doGet里面为什么要加super.doXXX呢?把其中一个改成this.doXXX就可以了吧
      

  3.   

    断点测试,看看到底是往哪里跳的。。
    从init方法开始往下跳F6一步一步的跳看过程
      

  4.   

    感觉有种多态的感觉在里面  所以出现了无线循环    super.doGet(request, response);就是这一句的问题!!!
      

  5.   

    其他地方应用这个TestServer了么?
      

  6.   

    为什么是super.doGet()? 用this.doGet(),试试.
      

  7.   

    额,一般使用post请求的,所以在doGet方法里写this.dopost(request,response);
      

  8.   

    <load-on-startup>0</load-on-startup>
    web.xml  中此标签的含义如下
    1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。2)它的值必须是一个整数,表示servlet应该被载入的顺序2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。5)当值相同时,容器就会自己选择顺序来加载。所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。