开发工具:
文件大小: 364kb
下载次数: 0
上传时间: 2019-08-10
详细说明:
NULL
博文链接:https://zzc1684.iteye.com/blog/2210510首先在web.xm1中配置入口 servlet
<- name>dispatcher servlet-name>
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 servlet-name>
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最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.