通过IDE环境调试呀,比喻说jbuilder等

解决方案 »

  1.   

    我用的就是jbuilder,请问当doPost,doGet被执行后,没有浏览器发出请求它怎么触发doPost,doGet事件
      

  2.   

    我用的也是JBuilder来调试。看你的情况是没有分清楚doGet和doPost,一般执行只是调用其中的一个。doPost相对于doGet是用于请求过来的东西比较多的情况,比如一些用Http实现的协议。如果你想将它们合二为一的话,可以写一个公共的函数,然后分别在doGet和doPost中调用这个函数就可以了。
      

  3.   

    to DreamHead(大头):它们的区别我是知道的,可能是我写的不清楚。在jbuilder中使用单步执行,当出来以下信息后就没有动静了。E:\application\j2sdk1.4.0\bin\javaw -classpath "E:\application\JBuilder 6.0 Enterprise\jakarta-tomcat-3.2.3\lib\webserver.jar;E:\application\JBuilder 6.0 Enterprise\jakarta-tomcat-3.2.3\lib\jasper.jar;E:\application\JBuilder 6.0 Enterprise\jakarta-tomcat-3.2.3\lib\parser.jar;E:\application\JBuilder 6.0 Enterprise\jakarta-tomcat-3.2.3\lib\jaxp.jar;E:\application\JBuilder 6.0 Enterprise\jakarta-tomcat-3.2.3\lib\servlet.jar;E:\application\j2sdk1.4.0\jre\lib\charsets.jar;E:\application\j2sdk1.4.0\jre\lib\jaws.jar;E:\application\j2sdk1.4.0\jre\lib\jce.jar;E:\application\j2sdk1.4.0\jre\lib\jsse.jar;E:\application\j2sdk1.4.0\jre\lib\rt.jar;E:\application\j2sdk1.4.0\jre\lib\sunrsasign.jar;E:\application\j2sdk1.4.0\jre\lib\ext\dnsns.jar;E:\application\j2sdk1.4.0\jre\lib\ext\ldapsec.jar;E:\application\j2sdk1.4.0\jre\lib\ext\localedata.jar;E:\application\j2sdk1.4.0\jre\lib\ext\sunjce_provider.jar;E:\application\j2sdk1.4.0\lib\dt.jar;E:\application\j2sdk1.4.0\lib\htmlconverter.jar;E:\application\j2sdk1.4.0\lib\tools.jar;E:\application\j2sdk1.4.0\demo\plugin\jfc\Java2D\Java2Demo.jar;E:\application\j2sdk1.4.0\demo\jfc\Java2D\Java2Demo.jar"  -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,address=javadebug,suspend=y org.apache.tomcat.startup.Tomcat -config F:\my_bag\JBuilder6.0\ServletProgram_Study\conf\server8082.xml
    2003-01-09 21:58:57 - ContextManager: Adding context Ctx(  )Starting tomcat. Check logs/tomcat.log for error messages 2003-01-09 21:58:57 - Ctx(  ): Removing duplicate *.jsp -> jsp(org.apache.jasper.servlet.JspServlet/null)2003-01-09 21:58:59 - Ctx(  ): File not found  F:\my_bag\JBuilder6.0\ServletProgram_Study\conf\tomcat-users.xml2003-01-09 21:58:59 - path="" :jsp: init2003-01-09 21:58:59 - Scratch dir for the JSP engine is: F:\my_bag\JBuilder6.0\ServletProgram_Study\work\localhost_80802003-01-09 21:58:59 - IMPORTANT: Do not modify the generated servlets2003-01-09 21:59:00 - PoolTcpConnector: Starting HttpConnectionHandler on 80822003-01-09 21:59:00 - PoolTcpConnector: Starting Ajp12ConnectionHandler on 80832003-01-09 21:59:00 - Ctx(  ): IOException in: R(  + / + null) Not an ISO 8859_1 character:星2003-01-09 21:59:27 - ContextManager: Removing context Ctx(  )2003-01-09 21:59:27 - JspServlet.destroy()我想是因为它可能没有被触发所至,请怎么触发它,是不是用浏览器开张网页去访问它?
      

  4.   

    比如说:
    package servletprogram_study;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class Servlettest extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GBK";
      public void init() throws ServletException {
      }
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>Servlettest</title></head>");
        
        String str="";
        for(int i=0;i<10;i++){//此处设了个断点
           str=str+"*";
        }    out.println(str);
        out.println("<body>");
        out.println("<p>The servlet has received a GET. This is the reply.</p>");
        out.println("<p>You needn't reply.(get)</p>");
        out.println("</body></html>");
      }  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
      }  //Clean up resources
      public void destroy() {
      }
    }我按单步执行,它根本就不会去停留我在断点位置。请提示应该怎么办?
      

  5.   

    那访问的结果是什么样的?是不是更本就没有访问你要调试的servlet?jb有一个默认访问的servlet/jsp,你可以修改它,或者直接通过IE浏览器或jb自带的浏览器访问: