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;
//繼承于HttpServlet
public?class?HelloServlet?extends?HttpServlet?{
????@Override
????protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)
????????????throws?ServletException,?IOException?{
????????
????????System.out.println("使用get()方式訪問servlet");
????????PrintWriter?out?=?response.getWriter();
????????response.setContentType("text/html;charset=utf-8");
????????out.println("<strong>使用get方式訪問servlet<strong/>");
????}
????@Override
????protected?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)
????????????throws?ServletException,?IOException?{
????????
????????System.out.println("使用post()方式訪問servlet");
????????PrintWriter?out?=?response.getWriter();
????????response.setContentType("text/html;charset=utf-8");
????????out.println("<strong>使用post方式訪問servlet<strong/>");
????}
}
//index.jsp
<%@?page?language="java"?contentType="text/html;?charset=UTF-8"
????pageEncoding="UTF-8"%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">
<title>Insert?title?here</title>
</head>
<body>
<a?href="servlet/HelloServlet">使用get方式訪問servlet</a>
<form?action="servlet/HelloServlet"??method=“post”>
????<input?type="submit"??value="使用post方式訪問servlet"?/>
</form>
</body>
</html>
//web.xml
<?xml?version="1.0"?encoding="UTF-8"?>
<web-app?
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?
xmlns="http://java.sun.com/xml/ns/javaee"?
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"?id="WebApp_ID"?
version="3.0">
??<display-name>MyFirstServletDemo</display-name>
??<welcome-file-list>
????<welcome-file>index.html</welcome-file>
????<welcome-file>index.htm</welcome-file>
????<welcome-file>index.jsp</welcome-file>
????<welcome-file>default.html</welcome-file>
????<welcome-file>default.htm</welcome-file>
????<welcome-file>default.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>
2016-12-15
剛看了你的代碼,覺得只會調用get方法那么就是說明表單設置的method屬性并沒有起作用。
仔細一看發現有個很細小的問題。
這里你使用的是中文引號
我試了一下,中文引號不會報錯,只會有黃色下劃線提醒
給個采納吧 ~~
2017-02-04
再次更正?。?!媽蛋之前我說的第一個修改也是錯的了。。。method="post"就對了?。ǚ凑蠹铱醋罴汛鸢赴桑∈钦_的?。?/p>
2017-02-04
錯了錯了,不好意思。上面的答案要更正一下。以免誤導后來的同學?。。?!第二點不用屏蔽的~~?。。?/p>
2、改的應該是這個~:
題主doGet和doPost方法中都寫錯了。反標簽的寫法。
2017-02-04
剛剛看了你的代碼,然后復制到我的demo里面測試了一下。發現有幾處小錯誤:
1、應該修改為,除了中文雙引號,方法名應為,method="doPost",調用的是HelloServlet類中的doPost方法
2、doPost方法中,應該把response.setContentType("text/html;charset=utf-8");屏蔽掉
運行結果如下:
2016-12-15
也可以調用dopost