当前位置: 首页 > wzjs >正文

信誉好的徐州网站建设b2b

信誉好的徐州网站建设,b2b,大连微网站制作,开发公司工程管理岗位面试对SpringMVC的技术点进行逐个拆解,定向爆破。 DispatcherServlet详解 DispatcherServlet中init-param的配置 DispatcherServlet负责接收除“.jsp”外的所有请求并交给Spring处理。因此DispatcherServlet需要优先启动。同时需要加载spring容器的配置,目…

对SpringMVC的技术点进行逐个拆解,定向爆破。

DispatcherServlet详解

  • DispatcherServlet中init-param的配置

DispatcherServlet负责接收除“.jsp”外的所有请求并交给Spring处理。因此DispatcherServlet需要优先启动。同时需要加载spring容器的配置,目的是为了让SpringMVC中相关bean也能被初始化。如何实现Spring容器的配置加载呢?需要在init-param中指明。

<init-param><param-name>contextConfigLocation</param-name><param-value>classpath:mvc.xml</param-value></init-param>

当然,如果不做这一块的配置,SpringMVC也会默认去找web-inf文件夹中的名为当前DispatcherServlet的Servlet名字的[servletname]-servlet.xml文件作为默认的Spring容器配置文件。

  • DispatcherServlet的映射路径:

路径符号匹配内容
/匹配除了.jsp以为的所有路径
/*匹配所有请求
.action或 .do匹配url以.do或 .action为结尾的路径
/request/*只匹配以“/request”路径前缀的请求

SpringMVC的运行流程

  • 客户端发送请求

  • tomcat接收对应的请求

  • SpringMVC的核心调度器DispatcherServlet接收到所有请求

  • 请求地址与@RequestMapping注解进行匹配,定位到具体的类和具体的处理方法(封装在Handler中)

  • 核心调度器找到Handler后交给HandlerAdapter执行具体的Handler

  • 执行后Controller将具体的执行结果(ModelAndView)返回给HandlerAdapter

  • 核心调度器吧ModelAndView交给视图解析器,视图解析器找到具体的jsp封装到View对象中

  • View视图把jsp转换成html内容再交给核心调度器

  • 核心调度器把html内容返回给客户端。

RequestMapping注解

在Controller中通过RequestMapping注解来定义匹配请求的URL。

  • RequestMapping注解可以定义在类的上方,作为类的中多个方法的统一URL前缀。

  • RequestMapping注解定义在方法的上方,作为此次请求具体要执行的方法的限定。

/**
@Author: 索尔
*/
@Controller //声明这是一个控制器
@RequestMapping("/hello") //访问路径,等价于url-pattern
public class HelloController {@RequestMapping("/test1") //访问路径public String hello1(){System.out.println("hello world");//具体的业务逻辑return "redirect:/index.jsp"; //跳转:/index.jsp}
}

RequestParam注解

RequestParam注解往往和RequestMapping注解配合使用,用来绑定请求参数和处理方法的参数。

我们来看下RequestParam注解的源码:

@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {@AliasFor("name")String value() default "";@AliasFor("value")String name() default "";boolean required() default true;String defaultValue() default "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n";
}

通过返回的测试我们得出以下结论:

  • @RequestParam(required = false/true,value = “参数名”,defaultValue = “”) 其中name和value等效这里用value,推荐使用value。

  • value:用于重命名参数,若使用了value,则前端请求时该参数必须与value相同。

  • required:用来制定该参数是否必须传入

    • true:默认值,前端请求时默认必须传入,否则会报400异常。

    • false:前端请求时可以不传,不传时后端收到的是null

  • defaultValue:如果设置了defaultValue,则required不会使用默认值true,而自动为false。当没有穿参数时,就使用默认值。

总结

这一篇文章我们攻克了SpringMVC的四大技术难点,下一期我们将继续对SpringMVC作详细拆解。

http://www.dtcms.com/wzjs/481003.html

相关文章:

  • 品牌网站开发免费广告发布平台
  • jQuery EasyUI网站开发实战营销策略都有哪些方面
  • 做环保网站案例分析百度图片搜索入口
  • 厦门市建设局官方网站怎么建免费网站
  • 哪里有网站建设培训班站长之家ip地址归属查询
  • 免费网页制作神器桂林seo
  • 如何做百度网站2017网站页面排名优化
  • 一个公司为什么要做网站站长工具综合查询
  • 网站建设需要学习哪些seo优化服务是什么
  • 商城网站建设服务器百度开户公司
  • 南京网站设计公司大全seo超级外链发布
  • WordPress SMTP open SSL志鸿优化设计官网
  • 做网站去哪里可以找高清的图片东莞关键词优化平台
  • 淄博做网站的营销培训机构哪家最专业
  • 订阅号怎么做网站百度公司总部在哪里
  • 哪些网站做外链网站测试报告
  • 网站改版建设的目的谷歌seo和百度区别
  • 青岛做网站的好公司活动推广软文
  • 网站首页制作过程成都关键词快速排名
  • 网站免费申请注册长春网站优化咨询
  • 用visual做的网站定制营销型网站建设
  • 德网站建设爱站网站长百度查询权重
  • 国家域名管理中心搜索引擎优化叫什么
  • 建网站要多长时间seo优化师
  • 做网站的怎么找客户信息流广告投放公司
  • 徐州整站优化电商平台推广方式有哪些
  • 北京网站建设排名web成品网站源码免费
  • wordpress分页插件优化技术基础
  • 十大医疗器械公司排名青岛seo关键字排名
  • 长宁哪里有做网站优化比较好国外seo比较好的博客网站