servlet中request.getMethod()时,除了POST,GET,PUT,DELETE以外,能get到其他名字的method吗?比如MOVE.
我这样写访问服务器端MOVE的方法,结果执行时报错了。
代码片段如下:
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置发送请求的方式
conn.setRequestMethod("MOVE");
报错如下:
java.net.ProtocolException: Invalid HTTP method: MOVE
at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:339)
at jp.Test.doPost(Test.java:26)
at jp.Test.main(Test.java:172)
-------------------------------------------------------------------
问题:
1.我如下这样写的代码,是否有可能执行到MOVE代码块的内容呢?
if (request.getMethod().equals("MOVE")) {
//此处代码可能会被执行到吗?servlet允许除了标准http的method以外的自定义method吗?
doMove(request, httpResponse);
} else if (httpRequest.getMethod().equals("PUT")) {
doPut(httpRequest, httpResponse);
}
2.我想写访问上面1中的服务器端代码,我该怎么写呢?
像我上面那样写,报错了:
java.net.ProtocolException: Invalid HTTP method: MOVE
问题补充:谢谢 jinnianshilongnian 的回答:
只有默认的几个,如果你需要一些额外的功能,又不想通过parameter传输, 可以使用Header.
如果使用Header的话,如下的判断代码有效吗?
if (request.getMethod().equals("MOVE")) {。。。。。。}
相关推荐
Called by the server (via the service method) to allow a servlet to handle a GET request. doHead(HttpServletRequest, HttpServletResponse) - Method in class javax.servlet.http.HttpServlet Receives an...
"JavaWeb笔记08Servlet中get和post区别" Servlet是Java Web开发中最基本的组件之一,它可以处理HTTP请求并生成响应。在Servlet中,get和post是两种常用的HTTP请求方法,两者之间有着很大的区别。 GET请求 GET请求...
Ajax 中 get 与 post 请求的详细解释 Ajax 技术中 get 与 post 两种请求方式是许多开发者经常遇到的疑问,以下将详细解释两者的区别,并提供实例代码。 一、get 与 post 的基本区别 1. 参数传递方式:get 请求将...
GET请求通常用于获取资源,而POST请求则用于提交数据,比如表单数据。在某些安全场景下,我们可能希望限制或禁止GET请求,以防止参数篡改或跨站请求伪造(CSRF)等攻击。 这个名为"Struts2-forbid-getrequest.zip_...
这个方法是Servlet生命周期中的关键部分,它会调用`doGet()`或`doPost()`等方法,具体取决于请求的方法类型(GET、POST等)。 在`HttpServlet`类中,`service()`方法是这样定义的: ```java public void service...
- `request.getMethod()`: 返回请求方法,如`GET`、`POST`等。 - `request.getPathInfo()`: 返回路径信息字符串,这是对`request.getRequestURI()`返回的路径的补充信息。 - `request.getPathTranslated()`: 返回...
当客户端发出请求时,Servlet引擎传递给Servlet一个ServletRequest对象和一个ServletResponse对象,这两个对象作为参数传递到service()方法中。 Servlet也可以执行ServletRequest接口和ServletResponse接口。...
除了这两个主要接口,Servlet API还包含其他关键组件,如ServletContext接口,它提供了整个Web应用程序的全局信息,比如读取初始化参数,获取服务器信息,甚至与其他Servlet通信。ServletConfig接口用于配置Servlet...
- **init()**:此方法在Servlet的整个生命周期中只调用一次,在Servlet首次被装载时调用。可以通过`ServletConfig`对象来获取初始化参数。 - **service()**:此方法是Servlet的核心部分,它负责处理客户端的请求。...
当Servlet容器(如Tomcat、Jetty等)启动时,或者当容器首次接收到需要特定Servlet服务的请求时,Servlet类会被加载并实例化。如果在`web.xml`配置文件中,Servlet被标记为`load-on-startup`,那么它会在容器启动时...
### POST和GET方法乱码解决方案 #### 前言 在Web开发中,中文乱码问题经常出现。这种现象主要是由于客户端(浏览器)与服务器之间的编码格式不一致导致的。通常情况下,浏览器发送数据时使用预设的编码格式,如UTF-...
- 对于POST、PUT和DELETE请求,可以通过`getReader()`获取`BufferedReader`对象读取文本数据,或者通过`getInputStream()`获取`ServletInputStream`对象处理二进制数据。 - 无论哪种请求方式,都可以通过`...
String method = request.getMethod(); // 获取请求 URI String uri = request.getRequestURI(); // 获取查询字符串 String queryString = request.getQueryString(); // 设置响应内容类型 response....
`HttpServletRequest`对象,简称`request`,是Servlet API中的一个关键接口,它代表了客户端发送到服务器的一个HTTP请求。本篇将深入讲解`request`对象的原理,并通过实例程序来演示其API的使用。 一、`...
这是因为浏览器原生只支持 `GET` 和 `POST` 方法提交数据,而 `PUT` 和 `DELETE` 方法则需要通过其他方式来模拟实现。 为了解决这个问题,Spring Boot 提供了一种机制,即通过在 `POST` 请求中添加一个隐藏域(`...
在Java编程中,发送HTTP GET和POST请求是常见的任务,特别是在与远程服务器交互或调用API接口时。本文将详细讲解如何使用Java实现这两种请求,以及如何处理响应。我们将使用Apache HttpClient库,这是一个广泛使用的...
String getQueryString() ---- get提交url地址后的参数字符串 username=zhangsan&password=123 注意:request获得客户机(客户端)的一些信息 request.getRemoteAddr() --- 获得访问的客户端IP地址 通过request...
JAVA使用HttpClient模拟浏览器GET、POST请求 在本文中,我们将介绍如何使用Apache Commons HttpClient库来模拟浏览器的GET和POST请求。HttpClient库是一个开放源码的项目,是Apache Commons项目的一部分,旨在简化...
在Java编程语言中,`Class.getMethods()`是一个非常重要的方法,它属于`java.lang.Class`类。这个方法用于获取指定类或接口的所有公共方法,包括继承自超类和实现的接口的方法。`getMethods()`返回一个`Method`对象...