文档章节

doGet方法和doPost方法

jemoii
 jemoii
发布于 2014/11/06 21:40
字数 481
阅读 62
收藏 0

书中从第366页开始进入EL(JSP表达式语言)的学习,引入EL是为了解决利用<jsp: getProperty>只能访问bean属性的性质,而不能访问属性的性质的性质。


366页底部的Servlet代码补全后为:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class TestBean extends HttpServlet{
    //书上的Servlet代码
    public void doPost(HttpServletRequest request, HttpServletResponse response)
		                            throws IOException, ServletException{
	//后续章节仅有此部分	                            
        foo.Person p = new foo.Person();
        p.setName("Evan");
    
        foo.Dog dog = new foo.Dog();
        dog.setName("Spike");
        p.setDog(dog);
    
        request.setAttribute("person", p);
        //后续章节仅有此部分
        
        RequestDispatcher view = request.getRequestDispatcher("result.jsp");
        view.forward(request. response);
    }
    //书上的Servlet代码
}

368页上方的JSP代码为:

<html><body>

<!--后续章节仅有此部分-->
Dog's name is: ${person.dog.name}

</body><//html>

在后续章节对EL的剖析中,书中采用Servlet代码+JSP代码+浏览器页面显示的方式对EL进行介绍。给出的Servlet代码和JSP代码不再是完整代码,将给出的示例代码代入使用时,浏览器显示405错误: HTTP method GET is not supported by this URL。


查询得到的错误原因为:

1、没有重写父类HttpServlet中的doGet或doPost方法

2、父类HttpServlet中的doGet或doPost方法覆盖了重写的doGet或doPost方法。

对应的解决方法分别为:

1、重写父类HttpServlet中的doGet或doPost方法;

2、删除super.doGet(request, response)或super.doPost(request, response);

而上述代码重写了doPost方法,也没有使用super语句,仍然出现405错误。最后尝试用doGet方法替换doPost方法,页面显示正确结果。


可能的原因:采用直接在浏览器中输入http://localhost:8088/testJSP1/Tester.do来查看显示结果时,URL的提交方式,应使用doGet方法来处理。

© 著作权归作者所有

jemoii
粉丝 1
博文 18
码字总数 3346
作品 0
西安
私信 提问
Eclipse+Tomcat配置中遇到的错误

1 eclipse发布项目报错:Multiple Contexts hava a path of “/xxx“ 1.1在Eclipse的Servers中单击“server.xml”文件并打开 1.2在"server.xml"文件中,可以看到重复定义的context,删掉1个即......

510202
2015/03/10
0
0
Servlet 中service() doGet() doPost()方法关系

版权声明:本文为博主原创文章,欢迎大家讨论,未经博主允许不得转载. https://blog.csdn.net/u010398771/article/details/82758022 1、HttpServlet 使用一个 HTML 表格来发送和接收数据。要创...

长河
2018/09/18
0
0
Servlet学习笔记心得

一、初步入门: init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。 service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)...

moongoblin1
2015/09/24
0
0
Servlet中doGet和doPost等方法

Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一: doGet:处理GET请求 doPost:处理POST请求 当发出客户端请求的时候,调用service 方...

yifon
2014/04/19
500
0
Servlet doGet和doPost方法

首先你要明确servlet的生命周期和HTTP协议. Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一: doGet:处理GET请求 doPost:处理POST请...

xiahuawuyu
2012/08/02
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript权威指南笔记14

第14章、window对象 1、计时器 I-1 setTimeout()和setInterval()可在指定时间后调用 setTimeout()返回值可传递给clearTimeout()用于取消该函数的执行。 多久后执行。 setInterval()指定时间间...

_Somuns
27分钟前
3
0
python3.7安装教程

原创 python3.7安装教程 2018-09-18 21:10:56 PtaQ 阅读数 20628更多 分类专栏: python 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文...

_纵横捭阖_
39分钟前
3
0
windows使用docker运行mysql等工具(二)安装运行mysql

今天接着上一篇的内容继续来学习安装运行mysql。建议先阅读第一篇:windows安装docker 一 查看mysql版本 如果想知道mysql镜像具体有哪几个版本,需要去docker hub查看。 地址如下: https://...

执偕
49分钟前
4
0
IT兄弟连 HTML5教程 CSS3属性特效 文字排版

direction定义文字排列方式,所有浏览器都兼容这个属性,有两个可选值rtl和ltr。文字排版的参数说明如表1所示。 表1 CSS3文字排版参数说明 上表所示,ltr是初始值,表示left-to-right,就是从...

老码农的一亩三分地
49分钟前
2
0
做好一名linux运维工程师

如何做好一个合格的运工程师,运维工程师前景怎么样呢?就这些问题,与大家交流一下。首先对于运维工程师的要求是十分严苛的了,运维工程师不但要针对不同的问题做出响应,而且需要不断的补充...

问题终结者
50分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部