-
使用Maven创建Spring MVC的环境(将在命令行创建好的Maven项目导入)
问题:项目的build path里Order and Export发现目录缺失,可以手动添加缺失的目录,根据目录的缺少情况。
【一】pom配置
第一项配置:jar包版本配置——如果工程依赖比较复杂、且比较大的情况下,可以添加标签来设置需要用到的jar包版本,这样就可以清晰的理解我们所使用的依赖软件包的版本。
第二项目配置:引用jar包版本配置——依赖管理是Maven中比较核心的配置,因为Maven可以管理一些传递的依赖,比如SpirngMVC依赖了Spring的包,而Hibernate也用到了Spring的包,当这两个依赖Spring版本不一样的时候,依赖管理就发生了作用,依赖管理可以使用指定版本的Spring,这里是4.1.3.RELEASE版本,该项目中所依赖的Spring文件都将以该版本为例。
第三项配置:依赖管理——Maven提供依赖管理,项目所依赖的jar包都存在<dependencies>标签里,可以为我们构建任意多个依赖的软件包,因为在 <properties>指明了Spring所有相关的版本,所以<dependencies><dependency>就不需要指明它的版本了。
第四项配置:插件配置——提供了额外功能,比如jetty,可以用它来测试和部署,但是和项目本身应用没有很大关联。
【二】web.xml配置
将DispatcherServlet配置到Web环境:通过<servlet>和<servlet-mapping>标签,这里最关键的属性是<servlet-name>,该标签的name可以自定义,但它关系到默认的配置文件,如果不做任何其它配置(比如init-param),Spring就将在默认位置,默认的文件名来加载SpringMVC的配置文件(Spring会默认加载WEB-IN下的mvc-dispatcher-servlet.xml),如下图蓝色字体,也可以通过<init-param>改变该参数,所以要在WEB-INF创建configs——>spring,并在spring文件夹下创建DispatcherServlet创建它对应的上下文环境。
【三】SpringMVC配置文件(mvc-dispatcher-servlet.xml)
第一项配置:Spring的applicationContext激活对标签支持的一些生命周期的管理,所以它可以识别用标签配置的Bean的声明。
第二项配置:DispatcherServlet上下文里只搜索带有@Controller标注的类,SpringMVC让控制器(Controller)和请求之间发生联系,并且做一些相应的操作
第三项配置:DispatherServlet启用基于annotation的HandlerMapping,通过如下图完成
第四项配置:配置ViewResolver,通过它通知DispatcherServlet分发给那个View,只需要配置一个前缀和一个后缀,就可以将这些东西拼接成某个JSP文件,这里存放JSP文件是在WEB-INF/jsps文件夹下,所以要创建该文件夹。
Controller类的编写:名为HelloMvcController,并且包必须在管理Controller标签路径里,并且让Spring知道这是一个Controller所以需要在类上添加@Controller,并且通知SpringMVC映射到哪一个URL路径,通过@RequestMapping(/hello")拦截根目录下的hello,并且编写一个方法返回一个字符串,并在方法上添加注解@RequestMapping("/mvc")如图。
该Controller会响应host:8080/hello/mvc的一个url,这就是SpirngMVC运行的方式,请求和Controller之间的映射,它就会返回到home.jsp,所以在jsps中创建home.jsp。
命令行中:进入项目的目录,查看目录中是否有pom,输入mvn jetty:run,提供一个运行的容器环境,运行后maven就会解析所有的依赖等等,当看到Start Jetty Server说明Maven已经成功启动了,这里使用了默认的端口号8080,浏览器访问:http://localhost:8080/hello/mvc,结果就会跳转到相应页面。
拓展:使用Eclipse导入项目时遇到No projects are found to import提示的解决办法https://blog.csdn.net/ancientear/article/details/86772425。
查看全部 -
Eclipse集成Maven,并使用Maven创建Spring MVC的开发环境
【一】下载合适版本的eclipse(推荐4.3版本kepler,他默认的集成了Maven的插件m2e)
【二】配置eclipse
Window——>Maven——>Installations——>Add(选择我们安装的Maven)
Window——>Maven——>User Settings——>Browse...(我们设置好的settings文件路径)
【三】Hello Spring MVC环境的搭建,运行Spring MVC的代码
命令行输入:自动创建Maven的目录结构,这个目录就是典型的Web应用目录,通过mvn调用Maven的运行环境,后面紧接着的是调用了某种插件,并且将插件上的某种目标应用,后面是插件所需要的参数,groupId为坐标,artifact也是坐标的一个参数,artifactId最终的值会成为所创建的目录结构的根目录的名称,archetypeArtifactId指明了我们创建目录的类型,这里是webapp类型,注意:这里应当在我们需要创建的位置,来输入命令。
查看全部 -
Maven的配置文件settings进行修改
Maven的配置文件:Maven目录下的conf——>settings,在HOME目录下有个.m2的文件夹,如果仅仅是刚安装Maven,而没有运行Maven的任何命令,那么可能无法看见这个目录,一可以手动创建这个目录,二可以运行某个Maven命令之后,将settings复制到.m2文件夹下,并对其修改,将settings赋值到.m2进行修改的原因是可能对Maven的版本进行升级,这样就不用每次对该文件进行修改。
修改1:<localRepository>路径</localRepository>它为可选项,如果不对它进行配置,它的默认路径软件库会安装到${user.home}/.m2/repository下,如果想把它放在其他位置,就修改路径。
修改2:镜像<mirrors>Maven的核心仓库,官方推荐使用英国的一个镜像,配置这个镜像,每次访问Maven,都会到这个库进行下载我们需要的软件包,降低了中心仓库的负载,中心仓库为了避免造成太大访问量造成服务器的运行问题,有时会拒绝我们的访问,所以通过指向英国的镜像,访问的成功率会有所提升。
查看全部 -
Maven的安装
【一】下载并解压Maven
【二】配置环境变量(M2_HOME,Path),配置Maven配置文件(本地仓库路径,镜像)
cmd中:输入mvn -version,成功会输出提示。
搜索引擎中,搜索Maven,第一条就是Maven的官方,选择download,选择bin.zip,
查看全部 -
使用Maven搭建Spring MVC开发环境
Maven介绍:是一个构建依赖管理工具。
【1】POM(Project Object Model):一个xml文件,配置许多维护信息,来完成相应功能(依赖管理、生命周期、插件的需要)。
【2】Dependency Management:一个项目可能依赖其他项目,在这里就不需要其他项目的jar包,通过配置就可以实现,写下了项目所依赖的spring-webmvc的依赖,spring-webmvc依赖的其他包会自动导入。
【3】Coordinates:maven的坐标由groupId、artifactId、version、packaging构成,这四个信息是可以唯一标识一个产品。
查看全部 -
Spring MVC的动态概念:DispatcherServlet基于核心的地位,连接View和Controller,访问过程——>用户通过浏览器发送请求通过服务器被DispatcherServlet拦截到,DispatcherServlet通过HandlerMapping找到适配的Controller,这里是通过annotation来找到指定Controller,并且找到HandlerInterceptor,也就是执行Controller的业务逻辑之前,执行一些方法,这就形成了HandlerExecutionChain执行链条,并且HandlerMapping会返回一个对象给DispatcherServlet,该对象包括(HandlerAdapter、HandlerInterceptor),并且Controller会生成ModelAndView返回给DispatcherServlet,但是DispatcherServlet不能确定显示哪个视图,这里通过ViewResolver的方法返回View对象,数据被传递给View进行呈现,这时就可以看到呈现的页面了。
查看全部 -
SpringMVC的静态概念
DispatcherServlet:它就相当于SpringMVC的前端控制器(Front Controller),前端用户的请求通过DispatcherServlet进行了分发,到达相应的Controller,来生产需要的业务数据Model,Model再通过DispatcherServlet传递给View完成最终页面呈现。
HandlerAdapter:适配器模式,将各种不同类型的HandlerAdapter适配成DispatcherServlet可以使用的HandlerAdapter,它是在DispatcherServlet内部使用的一个类,DispatcherServlet通过它可以找到Controller,SpringMVC中并没有一个接口叫做Controller,但是有一个annotation标签,该标签可以识别一个Controller。
HandlerInterceptor:拦截器,他是一个接口,拥有三个方法,如果Controller实现该接口,就可以调用Controller之前,调用之后,以及最终Model发送到页面可以做一些事情。
HandlerMapping:Handler是DispatcherServlet调用Controller中间过渡的一种对象,Mapping是DispatcherServlet与Controller映射关系的一种类,所以它就是请求到达DispatcherServlet,哪一个Controller来响应该请求,并且他也会对HandlerInterceptor进行管理,也就是它工作完后,会返回一个HandlerAdapter给DispatcherServlet。
HandlerExecutionChain:HandlerMapping返回的对象(包含HandlerAdapter、HandlerInterceptor),它们之间构成了一条执行链条,首先执行HandlerInterceptor的preHandle方法,然后调用Controller里的某个业务方法,再执行postHandle方法,再执afterCompletion方法,这里用到了反射机制(reflect)。
ModelAndView:可以使用SpringMVC中提供的Model类也可以使用java中提供的Map类的表现形式,但是DispatcherServlet最终都会把它转换为ModelAndView,所以在这里可以表现为Model的具体表现。
ViewResolver:视图解析器,可以通知DispatcherServlet使用哪一个视图,来进行视图的呈现,作用就是根据配置,找出需要的视图对象。
View:负责呈现页面,比如Jsp、JSTL等。
查看全部 -
MVC(Model-View-Controller)
MVC定义:程序分层,分工合作,既相互独立,又协同工作。
View:视图层,为用户提供UI重点关注数据的呈现。
Model:模型层,业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合。
Controller:控制层,调用业务逻辑产生合适的数据(Model)传递数据给视图层用于呈现。
查看全部 -
MVC本质:MVC的核心思想是业务数据抽取同业务数据呈现相分离。
前端控制器(Front Controller):处理用户的请求,分发调度的功能,一方面将请求分发给控制器生成业务数据,另一方面将生成的数据分发给相应的视图模板。
前端控制器工作原理: 用户的请求通过Http协议,到达前端控制器,前端控制器了解这个请求应该由谁来处理,所以将这个请求交给了控制器(Controller),前端控制器会接受到控制器传来的数据再将这些数据分发给业务视图,业务视图呈现给用户页面,又将这个页面传递给前端控制器,最终将该页面返回到浏览器端。
控制器(Controller):了解业务逻辑的细节,调用了业务逻辑生成了业务数据,并将数据返回给前端控制器。
查看全部 -
一、MVC简介
二、Spring MVC基本概念
三、Spring MVC项目搭建(使用maven搭建开发环境)
四、使用Spirng MVC进行开发
1、如何使用controller响应一个请求。
2、如何实现数据绑定。
3、如何文件上传等日常开发中用到的基本操作
五、课程总结(梳理讲解的知识,以及没有涉及到但在SpringMVC之中,所拥有的功能)
查看全部 -
eclipse配置maven
查看全部 -
maven配置
查看全部 -
maven的安装 path的配置
查看全部 -
MVC模式
VIEW
Model
Controller
查看全部 -
mvc本质是
查看全部
举报