gpt4 book ai didi

java - 读取 servlet 中的表单数据。使用 post 方法发布的数据和使用 ?q=test1 调用的 servlet

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:44:10 27 4
gpt4 key购买 nike

嘿,我正在尝试读取使用 post 方法发送的 servlet 中的表单数据。该 servlet 称为 OnlineExam?q=saveQuestion。现在 servlet 的工作方式为:

public class OnlineExam extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("q").equals("saveQuestion")){
/*
* Save the question provided with the form as well as save the uploaded file if any.
*/
saveQuestion(request);
}
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// doGet(request, response);
saveQuestion(request);
}
public String saveQuestion(HttpServletRequest request){
System.out.println(request.getParameter("question"));

return "";

}
}

HTML 格式:

<form action="OnlineExam?q=saveQuestion" method="post">
<fieldset>
<legend>Question</legend>
<textarea class="questionArea" id="question" name="question">Enter Question.</textarea>
<br class="clearFormatting"/>
<input class="optionsInput" value="optionA" name="optionA" onfocus = "clearValues('optionA')" onblur = "setValues('optionA')"/>
<br class="clearFormatting"/>

<input class="optionsInput" value="optionB" name="optionB" onfocus = "clearValues('optionB')" onblur = "setValues('optionB')"/>
<br class="clearFormatting"/>

<input class="optionsInput" value="optionC" name="optionC" onfocus = "clearValues('optionC')" onblur = "setValues('optionC')"/>
<br class="clearFormatting"/>

<input class="optionsInput" value="optionD" name="optionD" onfocus = "clearValues('optionD')" onblur = "setValues('optionD')"/>
<br/>
<input class="optionsInput" value="answer" name="answer" onfocus="clearValues('answer')" onblur="setValues('answer')"/>
<input type="submit" value="Save" />
<input type="reset" value="Cancel" />
<button style="display: none" onclick="return deleteQuestion()" >Delete</button>
</fieldset>
</form>

因此,任何人都可以说明实际上是如何调用 servlet 的。我的意思是什么是控制流,即这个 servlet 中的东西是如何工作的。

我怎么能在 servlet 中读取 param1。

ps:我不想用get方法发布表单。

最佳答案

您应该在 doPost 中获取 q 的值,而不是在 doGet 中。因为您使用 method="post",所以在 servlet 中,doPost 调用的不是 doGet。删除 doGet 中的代码,然后将其插入到 doPost 中。而你 doPost 必须类似于下面的代码。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("q").equals("saveQuestion")){
saveQuestion(request);
}
}

关于java - 读取 servlet 中的表单数据。使用 post 方法发布的数据和使用 ?q=test1 调用的 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com