连初级都算不上的代码小白 2023-11-04 21:20 采纳率: 52.4%
浏览 5
已结题

l控制器类前的RequestMapping注解

1.当在controller类前加//@RequestMapping时,方法返回的jsp界面找不到

@Controller
//@RequestMapping("/resp")
public class resp {
@RequestMapping("/r2")
    public String func2(){
        System.out.println("successfully got in resp/r2");
        return "a.jsp";
    }
}

上面的类前有@RequestMapping时,jsp界面访问不到
2.不管类前有没有这个注解,html界面都访问不到

@RequestMapping("/r3")
    public String func3(){
        System.out.println("successfully got in resp/r3");
        return "b.html";//有没有前缀路径都访问不到
    }

@RequestMapping("/r4")
    public String func4(){
        System.out.println("successfully got in resp/r4");
        return "c.html";
    }

注意:方法前没有@ResponseBody注解,也就是说该方法返回的不是普通的字符串
webapp项目结构如下

img

  • 写回答

3条回答 默认 最新

  • 关注

    因为你类上的父路径是resp,根据你的代码,r2那个方法页面应该是在webapp/resp/a.jsp,r4同理
    如果你现在的页面地址不想改,那么应该返回"/a.jsp",/是相对于根路径,不加/是相对于现在的父路径
    另外b.html是在WEB-INF下,如果你视图解析器没有单独配置,那么r3应该返回"/WEB-INF/b.html"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月4日