关于doGet和doPost

关于doGet和doPost


package com.imooc.ELandJSP.el.JSTL;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/jstl")
public class Servlet1 extends HttpServlet {
   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*        request.setAttribute("score", 78);
       request.setAttribute("grade", "B");
       request.getRequestDispatcher("/JSTL/core.jsp").forward(request, response);*/

   }

   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       request.setAttribute("score", 78);
       request.setAttribute("grade", "B");
       request.getRequestDispatcher("/JSTL/core.jsp").forward(request, response);
   }
}


<%--
 Created by IntelliJ IDEA.
 User: 丁大伟
 Date: 2020/3/15
 Time: 16:42
 To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
   <title>Title</title>
</head>
<body >
<h1>${requestScope.score}</h1>
<c:if test="${score>=60}">
   <h1 style="color:green">恭喜,你已经通过测试</h1>
</c:if>
<c:if test="${score<60}">
   <h1 style="color:red">对不起,再接再厉</h1>
</c:if>
</body>
</html>


我想问一下,为什么我在doGet方法中写的就可以在浏览器中显示,在doPost方法就不能在浏览器中显示,我贴的代码中doGet和doPost方法中的代码完全相同

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2020-03-15 18:51:48

同学,你好!如果直接在地址栏输入地址访问Servlet,那么会默认访问Servlet的doGet()方法,所以doGet()方法中的代码会被执行,而doPost()不会被执行。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕沐3362990 #1
    实际开发中,会出现直接访问servlet吗,如果就在doPost方法中写代码,怎样才能被访问到
    2020-03-15 19:46:31
  • 好帮手慕珊 回复 提问者 慕沐3362990 #2
    你好!实际开发中也会出现直接访问servlet的情况,一般大家会让doGet和doPost方法的代码都一样,比如在doGet中写好代码,在doPost中调用doGet方法。或者不用这两个方法,使用一个service()方法也可以,在service()方法中写代码,因为service()方法会接收到这两种请求。祝学习愉快!
    2020-03-16 09:41:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师