HTTP method POST is not supported by this URL   请各位前辈帮忙啦!    需要源代码说下!

解决方案 »

  1.   

    package my.protect.controller;import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    // Support classes
    import java.io.IOException;
    import my.protect.model.PI;
    import java.util.List;
    import java.util.LinkedList;
    import javax.servlet.ServletContext;public class AddServlet extends HttpServlet {
       
        
      
        public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws  IOException, ServletException{
            List errorMsgs=new LinkedList();
            
            request.setAttribute("errorMsgs", errorMsgs);
            
            try {
                String Name=request.getParameter("Name").trim();
                String Age=request.getParameter("Age").trim();
                String Province=request.getParameter("Province").trim();
                String Professional=request.getParameter("Professional").trim();
                String Interests=request.getParameter("Interests").trim();
                int age=-1;
                try{ 
                    age=Integer.parseInt(Age);
                    
                }catch(NumberFormatException nfe){
                    errorMsgs.add("The 'Age' field must be a positive integer.");
                     
                }
                if((age!=-1)&&((age<20)||(age>23))){
                        errorMsgs.add("The 'Age' field must within 20 to 23.");
                       
                 }
                if(Name.length()==0){
                        errorMsgs.add("Please enter the name of the information.");
                  }
                if(Province.length()==0){
                        errorMsgs.add("Please enter the province of the information.");
                  }
                if(Professional.length()==0){
                        errorMsgs.add("Please enter the professional of the information.");
                  }
                 if(Interests.length()==0){
                        errorMsgs.add("Please enter the interests of  the information.");
                  }
                 if(!errorMsgs.isEmpty()){
                     RequestDispatcher view
                         = request.getRequestDispatcher("add_people.view");
                    view.forward(request, response);  
                    return;
                       // out.println("Error Page");
                       // return;
                  }
                
                 
                 PI pi=new PI(Name,Age,Province,Professional,Interests);
                 request.setAttribute("pi", pi);
                 ServletContext context=getServletContext();
                 List informationlist=(List)context.getAttribute("informationlist");
                 informationlist.add(pi);
                 RequestDispatcher view
                         = request.getRequestDispatcher("success.view");
                    view.forward(request, response);  
                    return;
                 
                }catch (Exception e) {
                errorMsgs.add(e.getMessage());
                //PrintWriter out = response.getWriter();            
                //out.println("ERROR PAGE");
                RequestDispatcher view
                        = request.getRequestDispatcher("add_people.view");
                view.forward(request, response);
                /* TODO output your page here
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet AddServlet</title>");  
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet AddServlet at " + request.getContextPath () + "</h1>");
                out.println("</body>");
                out.println("</html>");
                */
           
           } 
        
        }
    }出错的Servlet 源代码!
      

  2.   

    在Form里呢package my.protect.view;import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    // Support classes
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    import java.util.Iterator;
    public class AddPeopleForm extends HttpServlet {
       
      
          public void doGet(HttpServletRequest request,
                HttpServletResponse response)
                throws IOException {
            generateView(request, response);
        }
        
        public void doPost(HttpServletRequest request,
                HttpServletResponse response)
                throws IOException {
            generateView(request, response);
        }
        
        public void generateView(HttpServletRequest request,
                HttpServletResponse response)
                throws IOException {
             String pageTitle = "Duke's Soccer League: Add a New League";
             List errorMsgs=(List)request.getAttribute("errorMsgs");
             response.setContentType("text/html");
             PrintWriter out = response.getWriter();
            
               
                out.println("<html>");
                out.println("<head>");
                out.println("<title>"+pageTitle+"</title>");
                
                
                
                out.println("</head>");
                out.println("<body>");
                 if(errorMsgs!=null){
                out.println("<p>");
            out.println("<font color='red'><ul>");
            Iterator items = errorMsgs.iterator();
            while ( items.hasNext() ) {
                String errorMsg = (String) items.next();
                out.println("  <li>" + errorMsg + "</li>");
            }
             out.println("</ul></font>");
            out.println("</p>");
            }
                out.println("<p>");
                out.println("This form allows you to create a new people information.");
                out.println("</p>");
                out.println("<form action='add_people.do' method='POST'>");
                String Name=request.getParameter("Name");
                if(Name==null){
                    Name="";
                }
                out.println("Name:<input type='text' name='Name' value='"+Name+"'/><br/><br/>");
                String Age=request.getParameter("Age");
                if(Age==null){
                    Age="";
                }
                out.println("Age:<input type='text' name='Age' value='"+Age+"'/><br/><br/>");
                String Province=request.getParameter("Province");
                if(Province==null){
                    Province="";
                }
                out.println("Province:<input type='text' name='Province' value='"+Province+"'/><br/><br/>");
                String Professional=request.getParameter("Professional");
                if(Professional==null){
                    Professional=""; 
                }
                out.println("Professional:<input type='text' name='Professional' value='"+Professional+"'/><br/><br/>");
                String Interests=request.getParameter("Interests");
                if(Interests==null){
                    Interests="";
                }
                out.println("Interests:<input type='text' name='Interests' value='"+Interests+"'/><br/><br/>");
                out.println("<input type='submit' value='Add people'/>");
                out.println("</form>");
                out.println("</body>");
                out.println("</html>");
              
            } 
        } 
       
      

  3.   

    HttpServlet 必须有Method: doGet,doPost,如果你只想用一个方法的话可以在你的代码里面增加:public void doPost(HttpServletRequest request,HttpServletResponse response) {
        //业务逻辑
    }public void doGet(HttpServletRequest request,HttpServletResponse response) {
        doPost(request,response);
    }
      

  4.   

    同楼上意见,也可以把请求改成method="get"
      

  5.   

    他虽然可以只写doGet/doPost,但是除非你完全能够明白你用什么方式来提交,否则最好像我写的那样.
    HTTP method POST is not supported by this URL  从错误提示里推测,你页面提交时,URL是错的。可以再写一个form类,并写在:
               out.println(" <form action='add_people.do' name='formFoullName' method='POST'>"); 
      

  6.   

    我同样的正常运行的练习,这个servelt里就一个doPost()...(原理一样的练习)
      

  7.   

    你在servlet里把那个请求URL打印出来看看,或者看看浏览器窗口中的URL,贴出来看看
      

  8.   

    http://localhost:8084/Jw1/admin/add_people.do  
      

  9.   

    .do   ???????????你哪学的啊.jsp试试