vin*_*nit 8 java post servlets
嘿我正在尝试读取使用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 "";
}
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
所以任何人都可以说明如何实际调用servlet.我的意思是控制流是什么,即这个servlet中的东西是如何工作的.
我怎么能在servlet中读取param1.
ps:我不想用get方法发布表单.
你应该得到的价值q在你doPost不在你doGet.因为你method="post"在servlet中使用then,那doPost就是那个不调用的doGet.删除您的代码,doGet然后将其插入doPost.你doPost必须像下面的代码一样.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("q").equals("saveQuestion")){
saveQuestion(request);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您将数据 POST 到 servlet。
doPost将被调用。
在里面doPost()你可以访问请求参数,例如
request.getParameter("param1");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81911 次 |
| 最近记录: |