tomcat启动后,post请求方法都正常,但是get请求方法提交后报405?
servletcharset
package com.imooc.servlet.charset;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ServletCharset
*/
@WebServlet("/charset/process")
public class ServletCharset extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ServletCharset() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("ename");
String address = request.getParameter("address");
System.out.println(name+":"+address);
response.getWriter().println("<h1>"+name+":"+address+"</h1>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// request.setCharacterEncoding("UTF-8");
// String name = request.getParameter("ename");
// String address = request.getParameter("address");
// System.out.println(name+":"+address);
// response.setContentType("text/html;charset=utf-8");
// response.getWriter().println("<h1>"+name+":"+address+"</h1>");
//// name = new String(name.getBytes("iso-8859-1"),"utf-8");
//// address = new String(address.getBytes("iso-8859-1"),"utf-8");
// }
}charset_form.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="/FirstServlet/charset/process"> 姓名:<input name="ename"> 地址:<input name="address"> <input type="submit" value="提交"> </form> </body> </html>

5
收起
正在回答
1回答
同学你好,我运行你的代码,如果form表单中不指定method的提交方式,默认是以get方式提交的,这时执行Servlet的doGet方法是正确的;
如果指定form表单的提交方式是post,即
<form action="/111wenda/charset/process" method="post">
那么在Servlet中就需要执行doPost方法。
建议同学根据上面的思路运行代码试一下。
祝学习愉快!
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星