亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

兩種方式訪問Servlet方式都只能調用doget方式?????

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>


正在回答

5 回答

剛看了你的代碼,覺得只會調用get方法那么就是說明表單設置的method屬性并沒有起作用。

仔細一看發現有個很細小的問題。

這里你使用的是中文引號

5852040600013f6804720071.jpg

我試了一下,中文引號不會報錯,只會有黃色下劃線提醒

58520406000137cf04930050.jpg


給個采納吧 ~~


1 回復 有任何疑惑可以回復我~
#1

慕仔4221270 提問者

哈哈,是的,我已經發現了,改過了字體,這個太害人了
2016-12-15 回復 有任何疑惑可以回復我~

再次更正?。?!媽蛋之前我說的第一個修改也是錯的了。。。method="post"就對了?。ǚ凑蠹铱醋罴汛鸢赴桑∈钦_的?。?/p>

0 回復 有任何疑惑可以回復我~

錯了錯了,不好意思。上面的答案要更正一下。以免誤導后來的同學?。。?!第二點不用屏蔽的~~?。。?/p>

2、改的應該是這個~:

?//out.println("<strong>使用post方式訪問servlet<strong/>");
?out.println("<strong>使用post方式訪問servlet</strong>");

題主doGet和doPost方法中都寫錯了。反標簽的寫法。

2 回復 有任何疑惑可以回復我~
#1

慕仔4221270 提問者

我才看到原理還有這個錯誤,哈哈,謝謝指正
2017-02-24 回復 有任何疑惑可以回復我~

剛剛看了你的代碼,然后復制到我的demo里面測試了一下。發現有幾處小錯誤:

1、應該修改為,除了中文雙引號,方法名應為,method="doPost",調用的是HelloServlet類中的doPost方法

<form?action="servlet/HelloServlet"??method="doPost">
????<input?type="submit"??value="使用post方式訪問servlet"?/>
</form>

2、doPost方法中,應該把response.setContentType("text/html;charset=utf-8");屏蔽掉

運行結果如下:

589544db00013dcb03880260.jpg

589544dc000116a503030144.jpg


0 回復 有任何疑惑可以回復我~

也可以調用dopost

0 回復 有任何疑惑可以回復我~
#1

慕仔4221270 提問者

我的意思是,我的代碼只能調用doget方法。。。。
2016-12-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

兩種方式訪問Servlet方式都只能調用doget方式?????

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號