厦门宠物网

springMVC底层是根据什么对比URL

    发布时间:2019-09-21

    我是这样接收的:
    @SuppressWarnings({ "unchecked", "rawtypes" })
    @RequestMapping(value = "/assets/list")
    public String listItem(HttpServletRequest request) throws UnsupportedEncodingException{
    String ret = "" ;
    try
    {
    ret = request.getParameter("ret").trim();
    }catch(Exception e)
    {
    ret = "one" ;
    }
    Pager<ProvinceFixedAssets> pager = new Pager<ProvinceFixedAssets>();
    pager.setCurrentPage(SystemContext.getOffSet());
    pager.setEveryPage(SystemContext.getPageSize());
    Map param = Maps.newHashMap();
    if(!"".equals(ret.trim())||ret.trim()!=null)
    {
    if("one".equals(ret.trim()))
    {
    String hql = "from ProvinceFixedAssets pfa " ;
    pager=regularAssetService.findPagerByMap(pager,hql,param);
    }else if("two".equals(ret.trim()))
    {
    String name = new String(request.getParameter("name").trim().getBytes("iso-8859-1"),"UTF-8");
    param.put("assetsName", name+"%");
    String hql = "from ProvinceFixedAssets pfa where pfa.assetsName like :assetsName" ;
    pager=regularAssetService.findPagerByMap(pager,hql,param);
    }
    }
    request.setAttribute("assetsInfoList",pager.getResult());
    request.getSession().setAttribute("page", pager);
    return "regularAssets/assetsList";
    }

    回复:

    楼上的答案是正解,我想补充一下@ResponseBody的作用

    作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
    使用时机: 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
    如果返回到页面是map或者json或者list等,加上@ResponseBody准没错,如果你想跳转到一个页面,那么千万别加@ResponseBody,因为这个注解会将你返回的东西放到response的body数据中去,换句话说,你返回的页面将以字符串的形式写到页面上,而不是跳转到这个页面!

    回复:

    1、<url-pattern>/</url-pattern>:
    会匹配到/springmvc这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url。这种形式不会覆盖任何其它的servlet。它仅仅替换了servlet容器中内建的默认servlet。这种形式通常只用来请求静态资源(CSS/JS/image等)和展示目录的列表。servlet容器内建的默认servlet同样可以处理HTTP cache请求、媒体(声音/视频)流以及文件的下载。通常来说,你不会想要覆盖这个默认的servlet,否则,你将不得不自己处理一些琐碎的任务。因此,对于sevlet来说,这同样是一个糟糕的URL模式。说到为什么JSP页面的请求并不会命中这个servlet,那是因为servlet容器内建的JSP servlet将会被调用,而这个容器内建的JSP servlet已经默认地映射在了*.jsp上。
    2、<url-pattern>/*</url-pattern>:
    会匹配所有的url:路径型的和后缀型的url(包括/springmvc,.jsp,.js和*.html等)。 这种形式将会覆盖所有其它的servlet。不管你发出了什么样的请求,最终都会在这个servlet中结束。因此,对于servlet来说,这是一个很糟糕的URL模式。通常来讲,你只会想要在一个Filter中使用这种模式。它可以通过调用doFilter()方法来使请求继续。

    回复:

    同问,同样遇到这个问题,纠结埃话说楼主找到解决方法没

    回复:

    后缀这些要看有没有特殊需要,比如需要对某些url做特殊过滤等

    回复:

    楼上的答案是正解,我想补充一下@ResponseBody的作用 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。 使用时机: 返回的数据不是html标签的页面,而是其他...

    回复:

    1、/ 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url 2./* 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等) 3、url-pattern详解 在web.xml文件中,以下语法用于定义映射: 1) 以”/’开头和以”/*...

    回复:

    springmvc 根据url约定去请求对应方法 静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。 静态类中的所有成员必须是静态的。 静态类可以有静态构造函数,静态构造函数不可继承。 静态构造函数可以用于静态类,也可...

    回复:

    主要区别: 一、/ 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url 二、/* 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)

    回复:

    1、/: 会匹配到/springmvc这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url。这种形式不会覆盖任何其它的servlet。它仅仅替换了servlet容器中内建的默认servlet。这种形式通常只用来请求静态资源(CSS/JS/image等)和展示目录的列表。se...

    回复:

    一、我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的配置信息: org.springframework.web.context.ContextLoaderListener servletName org.springframework.web.servlet.DispatcherServlet 1 servletName / 此处需要特别...

    回复:

    我是这样接收的: @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/assets/list") public String listItem(HttpServletRequest request) throws UnsupportedEncodingException{ String ret = "" ; try { ret = reques...

    回复:

    学习Spring的时候,在配置web.xml的时候,把url-pattern 配置成/*,启动项目后去访问自己的Controller总是报404.检查了很多发现资源是存在的,配置的地址也没有问题,为什么会出现404错误呢?最后发现是自己配置的 url-pattern 不对! 现整理一...

    上一篇:上海新东方:初中生学厨师去哪里比较好 下一篇:晚上睡觉出汗多梦易醒入睡难是什么原因

    返回主页:厦门宠物网

    本文网址:http://0592pet.cn/view-208203-1.html
    信息删除