您好,欢迎光临本网站![请登录][注册会员]  
文件名称: SpringMVC源码分析系列
  所属分类: 其它
  开发工具:
  文件大小: 364kb
  下载次数: 0
  上传时间: 2019-08-10
  提 供 者: weixin_********
 详细说明:NULL 博文链接:https://zzc1684.iteye.com/blog/2210510首先在web.xm1中配置入口 servlet <- name>dispatcher Kservlet-classorg. springframework. web. servlet. DispatcherServlet(/seivlet-class Kinit-param> Kparam-name>contextConfigLocation/param-name> Kparam-valuc>classpath: springConfig/dispatcher-serviet Anil/param-valuc> 1 Kservlet-name>dispatcher Kurl-pattern>//url pattern> servlet mapping 注意有个初始参数 contextConfiglocation,顾名思义上下文配置文件路径。 还有另外一个注意点,这个 serylet对应的ur1- pattern最好写成"/",不要写成"/*"。至于为什么需要写成"/",具体请 eghttp://www.cnblogs.com/fangjian0423/p/servletcontainer-tomcat-urlpattern.html#springmvc 在 dispatcher- servlet.xm1屮主要是配置 springmvc的一些 Controller的初始化,静态文件的映射策略,视图的配置等 然后开始编写 Controller类(类似 Struts2中的 Action) 首先来看个主页的 Controller Controller RequestMapping public class IndexController Requestmapping public Mode lAndView index Mode lAndView view= new Mode lAndView(index") view. addObject("welcome",hello return vlew: 这里有2个注解: Controller和 Requestmappinig Controller注解就是表眀这是一个 Controller,且会被 spring容器进行初始化。 dispatcher- servlet.xml中的扫描包配置语句: Context: component-scan base-package=org. format. demo controller"/> 这条语句是扫描org. format.demo. controller下被 Controller(还有其他的如 Component, Service, Repository)注解的那些类, 并进行实例化。 RequestMapping顾名思义,就是请求映射 我们看到 Requestmapping(/")中的"/"的意义就是 contextpath后面的路径;也就是htp://host:port/ contextPath后面的路径 (这里不一定都要以”/开头,比如" employee",我们可以写成" employee") Mode landvicw对象就是一个带模型的视图对象。我们看刭 IndcxController返回了1个 index名称的Modc1 Andyiew对象 addo ject对象就类似 HttpservletrequEst的 setAttribute对象,怛就是视图里面丢数据。我们看到丢了一个key为 welcome的对 象 最后的视图代码: < title> ooay Kh2>Welcome to user SpringMVC

your welcome param: S welcome /h3> 我们看到用了el表达式得到了云入的数据 welcome,也就是hel1o。因此,最终生成的页面及地址如下: ireTon Thttp://ocallhost:..8/springmvcdemoa+ RequestMapping("(")的""拼接后的地址 <)e localhost: 8888/SpringMVCDemo/ 日vcg Mapping Excep · 访问最家火狐官方站点]新手场□常用网址 Welcome to user SpringMVC your welcome param: hello 之前丢入的key为 WELcome的对绿 最后 Springmvc会通过配置文件中的视图对象拼接成最终的视图地址。 Bean id= freemarkerConfig" class="org. springframework, web, servlet view freemarker. FreeMarkerConfigurer"> Property name= freemarkerSettings"> r。ps Kprop key"template update del ay >10/prop> zh CIpro> proper ty. 一 freemarker视图 Bean id=viewResolver" class="org. springframemorkreb servi FreeMarkerViewResolver> Property name='viewClass" value="org springframework amarker FreeMarker View X/property property name="contentType" value="text/html: char property name= exposeRequestAt tributes value- Bean> 图中 viewName也就是返回的 Mode landview中的 viewName即 index。因此,最终的视图路径为/WEB-INF/view/ index.ft1。 下面在来看一个员工操作的 Controller代码 Controller RequestMapping (value =/employee") public class Employee Controller i CAutowired private employee service cmployeeServicc Autowired private IDeptservice deptservice aRequestMapping public ModelAndView index Modelandview view =new ModelAndView employee/list") List employees employeeService. iist view. addObject("list", employees return view RequestMapping(method= RequestMethod POST, value =/ delete/lemployeeld") body public string delete(PathVariable Integer employccld)( employeeService. delete(employeeld return success rEques mApping (me thod Reques tMe thod GET, value ="/add") public Mode lAndView add (ModelAndView view)t view. setViewName("employee/form) view. addObject(depts", dept Service. listAll() return vlew; GRequestMapping(method- RequestMethod GET, value ="/detail/employee) public ModelAndView detail(PathVariable Integer emp ioyeeid, ModelAndView view view. setviewName(employee/ form) view. addObject("employee", employeeService getBy ld(euployeeld)) view. addObject( "depts", deptService. listAI10) return view; Reques tApping (me thod= RequestMethe di POST, value ="/update") public String add (Employee employee)t if (employee. getDeptO getId( =null employee. setDept(null) employeeService. saveOrUpdate(employee) returnredirect: / employee/ 这里多了几个新的内容 1. Request Mapping注解的作用位置 如 Employee Controller的ad方法,最终起作用的路径是htt:/hos:b",生作用的路径是类名上的路径+方法上的路径。比 Requestmapping可以作用在类名上,也可以作用在方法上。如果都有,产 t/ ccntextPath /employee/add 2. Reques t Mapping注解的 me thod参数 method参数表小的HTTP请求的方式。常见的有GET,PUT,PO,DETE等。若请求的方法与后台编写的方法不一致,会出现HTTP405 错误 3. Pathvariable注解 这是一种基于 RESTFUL的注解。我们看到 detail方法的 Requestmapping的 value值/ detail/ employed},参数中加入了 PathVariable employeeld。这样起作用的路径就根据 employee的Id,即每个员工都有独立的一个URI路径资源。符合 RESTFUL 架构。 1. Controller的方法参数 Controller的方法访问非常灵活。比如 Employee有id, name,age等属性。只要我们在前台传入name为id,name,age这3个 参数,并且接受的方法有个 Employee对象参数, Springmvc会自动把3个注入到这个对象中。还有其他些 Intege,Long参数

(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: SpringMVC源码分析系列
 输入关键字,在本站1000多万海量源码库中尽情搜索: