get方法沒問題,post方法報(bào)405錯(cuò)誤
HTTP Status [405] – [Method Not Allowed]
Type?Status Report
Message?HTTP method POST is not supported by this URL
Description?The method received in the request-line is known by the origin server but not supported by the target resource.
Apache Tomcat/9.0.0.M21
代碼:index.jsp:
<%@?page?language="java"?contentType="text/html;?charset=UTF-8"?pageEncoding="UTF-8"%> <%?? String?path?=?request.getContextPath();?? String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";?? %>? <!DOCTYPE?html> <html> <head> <base?href="<%=basePath%>">? <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"> <!--?<link?rel="stylesheet"?type="text/css"?href="">?--> <title>Insert?title?here</title> </head> <body> <h1>第一個(gè)servlet小例子</h1> <hr> <a?href="servlet/HelloServlet">Get方法請(qǐng)求HelloServlet</a> ???<form?action="servlet/HelloServlet"?method="post"> ???<input?type="submit"?value="用post方式提交HelloServlet"?/> ???</form> </body> </html>
HelloServlet.java:
package?servlet; import?java.io.IOException; import?java.io.PrintWriter; import?javax.servlet.ServletException; import?javax.servlet.http.HttpServlet; import?javax.servlet.http.HttpServletRequest; import?javax.servlet.http.HttpServletResponse; public?class?HelloServlet?extends?HttpServlet?{ @Override protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{ //?TODO?Auto-generated?method?stub System.out.println("處理Get請(qǐng)求……"); PrintWriter?out?=?response.getWriter(); response.setContentType("text/html;charset=utf-8"); out.println("<b>Hello?Servlet</b>"); } @Override protected?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{ System.out.println("處理Post請(qǐng)求……"); PrintWriter?out?=?response.getWriter(); response.setContentType("text/html;charset=utf-8"); out.println("<b>Hello?Servlet</b>"); } }
web.xml:
<?xml?version="1.0"?encoding="UTF-8"?> <web-app? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee?http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--?歡迎頁面?--> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/servlet/HelloServlet</url-pattern> </servlet-mapping> </web-app>
2019-03-20
換個(gè)瀏覽器吧,大概是緩存問題
2017-09-14
去掉super.doPost(req, resp);
2017-06-07
問題解決了。
代碼沒有錯(cuò),引起錯(cuò)誤的是我的項(xiàng)目里Java Build Path 出了點(diǎn)問題(之前不曉得哪里出了錯(cuò),按照度娘上找的方法,手殘?jiān)邳c(diǎn)了build path,在Libraries那里加了不屬于它的文件,導(dǎo)致項(xiàng)目出錯(cuò)。)。這個(gè)問題解決了就OK了。
Markers報(bào)錯(cuò):Archive for required library: 'WebContent/WEB-INF/web.xml' in project 'ServletDemo' cannot be read or is not a valid ZIP file ServletDemo Build path Build Path Problem
2017-06-06