文档章节

doGet方法和doPost方法

jemoii
 jemoii
发布于 2014/11/06 21:40
字数 481
阅读 52
收藏 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
0
0
Servlet doGet和doPost方法

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

xiahuawuyu
2012/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Batch @SpringBatchTest 注解

Spring Batch 提供了一些非常有用的工具类(例如 JobLauncherTestUtils 和 JobRepositoryTestUtils)和测试执行监听器(StepScopeTestExecutionListener 和 JobScopeTestExecutionListener)......

honeymose
22分钟前
2
0
浏览器缓存

HTTP缓存类型 200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cache 304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,如果服务端数据没有改变,则读...

关元
35分钟前
2
0
正则表达式简单使用说明

在Python3里确实简单明了,测试样例如下 # 正则content = 'Hello 1234567 World_This is a Regex Demo'# 贪婪匹配 尽可能多的匹配result = re.match('^He.*(\d+).*Demo$', co......

轻轻的往前走
37分钟前
2
0
多线程创建方式

一、基本概念 进程:就是正在运行的应用程序,进程是线程的集合。 线程:就是进程中的一条执行路径,一个独立的执行单元。 多线程:就是为了提高程序的效率,使用多线程,每个线程互不影响,...

秋至丶枫以落
40分钟前
2
0
聊聊flink的Async I/O

序 本文主要研究一下flink的Async I/O 实例 // This example implements the asynchronous request and callback with Futures that have the// interface of Java 8's futures (which is t......

go4it
49分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部