我试图通过JSP和控制器上传文件,但我总是得到
HTTP状态405-不支持请求方法“POST”
类型状态报告
不支持消息请求方法“POST”
描述指定的HTTP方法不允许用于请求的资源。
这是我的表单(只是所有JSP页面的一部分):
<form method="POST" enctype="multipart/form-data" action="product.file.add">
<input name="productId" type="hidden" />
<tr>
<th>Foto: </th>
<td><input type="file" name="file" /></td>
</tr>
<tr>
<td class="bt" ><input type="submit" value="Add image" /></td>
<td class="bt" ><input type="submit" value="Continue without image" /></td>
</tr>
</form>
控制器的我的一部分(现在只有丢失的文件名):
@RequestMapping(value = "/admin/product.file.add", method = RequestMethod.POST)
public String productFileUpload(@RequestParam("file") MultipartFile file,
@RequestParam("productId") int productId) {
logger.info(file.getName());
return "redirect:/admin/product";
}
还有一部分servlet-context.xml
<beans:bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
但我总是得到:
HTTP状态405-不支持请求方法“POST”
你能帮帮我吗(
我的控制器没有所有的方法:
@Controller
public class ProductController {
@Autowired
private ProductDao productDao;
@Autowired
private ProducerDao producerDao;
@Autowired
private SectionDao sectionDao;
@Autowired
private TasteDao tasteDao;
@Autowired
private CategoryDao categoryDao;
private static final Logger logger = LoggerFactory
.getLogger(ProductController.class);
@RequestMapping(value = "/admin/productfileadd", method = RequestMethod.POST)
public String productFileUpload(@RequestParam("file") MultipartFile file,
@RequestParam("productId") int productId) {
logger.info(file.getName());
return "redirect:/admin/product";
}
}
我的应用程序运行于:
http://localhost:8080/prosvaly/
我用在所有相同的“动作风格”和它的作品。在这种形式下,当我点击按钮。它把我引向正确的方向。我试图改变我的行动
action="/prosvaly/admin/productfileadd
但还是同样的错误。当我将方法类型从POST更改为GET时,会出现另一个错误:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: The current request is not a multipart request
所以我认为这个问题并没有发生,因为GET方法可以找到相同的URL
我有同样的问题,我的解决方案不同。在我的例子中,我使用的是基于注释的配置,我用@Controller
注释了我的类,但我从未告诉配置类扫描我的包中控制器所在的位置,方法是用
@ComponentScan(basePackages = "com.controllers.location.package")
@刚需映射的值为"/admin/product.file.add",form的动作为action="product.file.add"。我认为应该是action="/admin/product.file.add"
或者您可以尝试使用
主要问题是Spring安全。我解决了这个问题。Sprinf安全性阻止了我的URL,但我不知道为什么。
“我解决了这个问题,”我补充道${{u csrf.parameterName}=${{u csrf.token}结束我的表单操作
<form method="POST" action="uploadOneFile**?${_csrf.parameterName}=${_csrf.token}**" enctype="multipart/form-data">
现在它起作用了!
我有以下控制器: 13-feb-2016 16:55:09.442警告[http-apr-8080-exec-9]org.springframework.web.servlet.PageNotFound.HandleHttpRequestMethodNotSupported请求方法“Put”不受支持 我不明白这怎么可能。下面是我的依赖项: 编辑2: 2016-02-14 12:30:56 DEBU
问题内容: 我收到此错误: 我正在尝试做的是创建一个带有下拉框的表单,该表单会根据在另一个下拉框中选择的其他值进行填充。例如,当我在框中选择一个名称时,应运行.jsp页面中的函数,然后提交提交的页面,然后在框中再次加载相应的值。 但是我收到此HTTP状态405错误。我在互联网上搜索了解决方案,但找不到任何有帮助的方法。这是我的代码的相关部分: jsp页面的一部分 控制器的一部分: 我怎么会得到这个
我收到这个错误:< code>HTTP状态405 -不支持请求方法“POST ” 我想做的是创建一个带有下拉框的表单,该下拉框根据在另一个下拉框中选择的其他值进行填充。例如,当我在框中选择一个名称时,应该运行. jsp页面中的函数,然后提交的页面再次加载框中的相应值。 但是我收到此HTTP状态405错误。我已经在互联网上搜索了解决方案,但找不到任何有帮助的东西。以下是我的代码的相关部分: jsp页
我有Spring MVC的Spring Security。当我尝试注册时,它给了我405个不支持的“帖子”。我已在安全配置中禁用csrf令牌。让我知道我哪里出错了? 我的登录页面: 授权由LoginController处理: 这是我的Spring Security配置类:
当我尝试实现Spring Security性时,出现以下错误- 控制器: web.xml Spring-security.xml 登录名。jsp 错误:- http://localhost:8080/EmployeeManagement/j_spring_security_check
该场景是用户选择一些产品,然后单击进行支付。在这里,我将他/她重定向到IPG(银行互联网支付网关),并在付款完成和定稿时传递我的返回url。在我添加spring security之前,一切正常。 但是如果在一些内部视图中发布这个url,一切都会恢复正常。 这是正常工作(spring security启用,一切正常) 在浏览器中查看银行IPG的来源(https://pna.shaparak.ir/C