HTTP Status 405 - HTTP method POST is not supported by this URL

程序出现了

HTTP Status 405 - HTTP method POST is not supported by this URL

 

request.getRequestDispatcher("/servlet/GetAddServlet?id"+user_id).forward(request, response);

 

 

 解决(使用另一种跳转,myTest为项目名) 

response.sendRedirect("/MyTest/servlet/GetAddServlet?id="+user_id);

 

 

request跳转叫页面传递就是一个页面的请求传递到另外一个页面,这个你在前一个页面中对该请求的操作比如赋值,获得参数都能通过request获得。


response跳转叫页面重定向,就是你之前发过来的请求到达该处就结束了,如果还要做请求则是由该页面在重新发送一个请求了,这个请求跟之前重定向的请求不是同一个请求了,因此你通过request拿不到重定向前的请求参数    .

 -----------------------------------------网上搜集得来---------------------------------------------

forward,include,redirect是jsp中web页面(jsp或servelt)的三种不同的路由关系,三个貌似相同,其实还是有许多差别的,而了解这些细微的差别,在web开发中是很重要的。  
  说明:  
  一、forward、include由javax.servlet.RequestDispatcher来封装,由包容器container提供RequestDispatcher接口的实现,其中声明如下:

  •  void   forward(ServletRequest   req,ServletResponse   res)  
  •  void   include(ServeltRequest   req,ServletResponse   res)  

 

 可以通过两种方式得到RequestDispatcher:  


  1、ServletContext.getRequestDispatcher(String   path);  

  其中这里的path必须开始为"/",即这里的path必须相对于context的root.  


  2、ServeltRequest.getRequestDispatcher(String   path)  
  这里的path可以为相对路径,如果path开始为"/",则也认为是从context的root开始的。

  
  二、Redirect由HttpServletResponse.sendRedirect(String   location)来支持  
  差别:  


  三个都可以对用户的request进行转发,但是还是有许多的不同,差别最主要集中在如下几个方面:  

 
  1、forward与include共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。  

 
  2、forward与include基本上都是转发到context内部的资源,而redirect可以重定向到外部的资源,如:   req.sendRedriect("http://www.baidu.com");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值