************请求一个方法,后台能正常执行,前台报错404************
前言:我是通过ajax请求,虽然后台能正常执行,
但是ajax却不能执行success方法,执行了error方法。
前台报错404,说找不到XX.jsp页面。
后台方法是一个没有返回值的方法。
分析:找不到页面,说明是去寻找视图解析器了。那么我们这个不需要返回,怎么办呢。
分析后发现,后台的方法要么是请求modelAndView,要么返回的是json。
所以我们这个方法虽然没有返回,但是还是要在方法上写@ResponseBody,这样也至少是有响应的。
ajax才能知道是正确的。
这是网上的一句话:
所以不能忽略了注解@ResponseBody的作用,这个注解的作用是将函数返回值作为请求返回值
。没有这个注解的话,请求的响应应该是一个页面,不需要页面的话应该加上这个注解。
/**删除 * @param out * @throws Exception */ @ActionDesc(description="app版本管理删除",methodType="post") @RequestMapping(value="/delete") @ResponseBody public void delete(String id,String appUrl) throws Exception{ //先删除文件 File oldFile = new File(appUrl); if (oldFile.exists() && oldFile.isFile()) {//文件存在且是个文件 oldFile.delete(); //再删除目录 int lastIndexOf = appUrl.lastIndexOf("/"); appUrl = appUrl.substring(0,lastIndexOf); File fileDir = new File(appUrl); if(fileDir.isDirectory()){//这是一个目录 fileDir.delete();//删除目录 } } //最后删除数据 appVersionService.delete(id); }
时间: 2024-10-21 04:12:27