1.3 SpringMVC能干什么 天生与Spring框架集成,如:(IOC,AOP) 支持Restful风格 进行更简洁的Web层开发 支持灵活的URL到页面控制器的映射 非常容易与其他视图技术集成,...② Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理 ③ HandlerMapping :请求映射到处理器,找谁来处理,如果映射成功返回一个...HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象) ④ View Resolver : 视图解析器,找谁来处理返回的页面...-- 配置映射解析器:如何将控制器返回的结果字符串,转换为一个物理的视图文件--> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver...,index.jsp href="${pageContext.request.contextPath }/helloworld">Hello World 编写处理请求的处理器,并标识为处理器
今天开始学习我自己总结的 Java-学习路线 中的《SpringMVC》,小简从 0 开始学 Java 知识,并不定期更新所学笔记,期待一年后的蜕变吧!...3、处理请求的方法需要返回一个字符串类型的视图名称,该视图名称会被视图解析器解析,加上前缀和后缀组成视图的路径,通过 Thymeleaf 对视图进行渲染,最终转发到视图所对应页面。...4、视图控制器view-controller 如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller标签,在SpringMVC.xml...1>员工信息页面添加更新操作的超链接 href="@{'/employee/'+${employee.id}}">update 2>控制器方法:跳转到更新数据页面,并保存更新的数据到域中...,出现数学运算错误,跳转到error页面,并且返回错误信息 //跳转超链接 href="@{/testExceptionHandler}">测试异常处理 //控制器方法 @RequestMapping
二、从Helloworld开始 我们从最简单的Helloworld程序开始,体验MVC3带来的强劲便捷的功能。 ...step2.选择项目模板 在新建MVC3项目窗口,我们选择创建一个空的MVC3项目,使用Razor视图引擎,并勾选中“使用HTML5语义标记”,点击“确定”按钮,完成项目创建。 ?...这是一个404错误,指定的页面未找到。在项目运行时,Mvc3会将页面请求进行映射。接下来我们为项目添加一个Home页。 step3.让项目跑起来 我们需要添加一个名为Home的控制器。...在项目文件夹“Controllers”上面右键,将鼠标移动到“添加”项,选择“控制器”,如下图: ?... ViewBag.Title是用来显示当前页面的标题的。 ViewBag.name使我们在控制器中添加的属性,在这里可以直接使用。
Spring Boot整合Thymeleaf Spring Boot整合Thymeleaf(Spring Boot官方推荐的视图层技术) Thymeleaf特点:thymeleaf通过特定的语法对html...的标记进行渲染。...* 前缀:classpath:/templates 后缀:.html * 如果想要跳转到控制器,必须要让前缀和后缀失效,加上forward或redirect */ @RequestMapping..."翠花"); //前缀:classpath:/templates 后缀:.html return "index"; } } 编写Thymeleaf视图层页面 (负责数据的展示) Thymeleaf...-- 连接 url表达式 --> href="http://www.baidu.com">百度一下 href="@{http://www.baidu.com}">百度一下<
视图 引入Partial 母版页测试 ---- Partial视图 使用HTML辅助方法 Html.Partial()可以直接引用分部视图 使用Partial需要单独声明一个【视图层】 控制器 public...在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中。...在这个页面中,会看到标签里有这样一条语句: @RenderBody() 其实它的作用和母版页中的服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并...,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。...RenderPage 从名称可以猜出来这个方法是要呈现一个页面。
-- 值 1 : 配置标记服务器启动时候加载DispatcherServlet --> 1 <!...-- 配置处理器映射 name :页面根据name名,找到对应的 控制器; class :指定对应的控制器; 作用: 将指定的URL 请求指定给一个Controller 处理; Spring...会查到一个视图解析器,将控制器返回的逻辑视图名称,渲染为一个指定的 实际视图文件上; Spring同样提供了多种...这里使用:InternalResourceViewResolver 总结:...-- 配置视图解析器: 处理请求的最后一件事情就是 "渲染输出" 控制器做出响应最后会经过这里进行渲染输出; DispatcherServlet(前端控制器) 会查到一个视图解析器,将控制器返回的逻辑视图名称...地址不发生变化; // 经过web.xml 的DispatcherServlet 因为 / 所以 .jsp 会不在经过控制器直接去找页面.
此时除了 js 的校验之外,服务器端也应该有数据准确性的校验,那么校验就是控制器的该做的。 当校验失败后,由控制器负责把错误页面展示给使用者。...处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 处理器或页面控制器(Controller) 验证器( Validator) 命令对象(Command 请求参数绑定到的对象就叫命令对象...3.5、View Resolver:视图解析器 View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成...View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。...明确: 我们只需要编写处理具体业务的控制器以及视图。
1、Java虚拟机栈: 线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。...软引用主要用户实现类似缓存的功能,在内存足够的情况下直接通过软引用取值,无需从繁忙的真实来源查询数据,提升速度;当内存不足时,自动删除这部分缓存数据,从真正的来源查询这些数据。...弱引用主要用于监控对象是否已经被垃圾回收器标记为即将回收的垃圾,可以通过弱引用的isEnQueued方法返回对象是否被垃圾回收器标记。...,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分; 2、页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,并进行验证...,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名); 3、前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染
URL 请求 在控制器的类定义及方法定义处都可标注 @RequestMapping ① 标记在类上:提供初步的请求映射信息。...相对于 WEB 应用的根目录 ② 标记在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。...若类上未标注 @RequestMapping,则方法处标记的 URL 相对于 WEB 应用的根目录 作用:DispatcherServlet 截获请求后,就通过控制器上 @RequestMapping...[] consumes() default {}; String[] produces() default {}; } 2.2 RequestMapping 可标注的位置 2.2.1 实验代码 定义页面链接...、控制器方法 href="springmvc/helloworld">test @RequestMapping @Controller //声明Bean对象,为一个控制器组件 @RequestMapping
从入门案例中可以看到的是:HelloController 和 InternalResourceViewResolver,但是远不止这些。...2.3.5 View Resolver:视图解析器 View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成...View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。...明确: 我们只需要编写处理具体业务的控制器以及视图。
通过 AngularJS 可以实现多视图的单页 Web 应用(single page web application,SPA) 注意 Angular1.6 之前的版本是通过# + 标记实现路由。...+ 标记 帮助我们区分不同的逻辑页面并将不同的页面绑定到对应的控制器上。 在以上图形中,我们可以看到创建了两个 URL: /ShowOrders 和 /AddNewOrder。...每个 URL 都有对应的视图和控制器。 接下来我们来看一个简单的实例: 首页 href="#!/computers">电脑 href="#!.../printers">打印机 href="#!
试图助手可以理解成为控制页面布局,按照这个顺序进行页面的渲染 $this->headLink() 只是生成link标记占位符,例如 这样就会在页面生成 href=”/css/global.css” media=”screen” rel=”stylesheet” type=”text/css” >这个代码两次!!...title的分割符号 $view->headTitle(‘固定内容’);//设置固定内容 这样在控制器里面 $this->view->headTitle(‘页面标题’, ‘APPEND’); 这样会再生成页面中...> href=”baseUrl();?...( ‘description’, ‘网站描述’ ); 然后在视图中就可以使用 <?
在 Models 文件夹中创建 GuestResponse.cs 文件,代码如下:图片实现 RSVP 表单接下来要实现 RSVP 表单并且能让页面之间实现跳转。...图片tag helper 能极大简化 html 标记的输入,运行时由 asp.net core 平台翻译成 html 标记进行渲染。...跳转通过超链接 a 标记实现,tag helper 的 asp-action 属性在运行的时候添加 href 属性。图片跳转到 thanks 视图通过在 HomeController 中指定路由负责。...正常情况下,后端必须有数据库来存储应用程序的信息,为简便起见,这里使用 List 临时存放数据:图片在 HomeController 中,RsvpForm 的参数从 html...比如刚才的例子,作为 Response,当用户填写了表单后,收到平台的反馈 (thanks)视图:控制器 RsvpForm 的 Post 请求通知路由将 thanks 视图反馈给填写者:图片thanks
-- 使用classpath:表示从类路径查找配置文件,例如maven工程中的src/main/resources --> classpath:springMVC.xml...功能案例 实现对index.html页面的访问 + 通过超链接跳转指定页面: 1.index.html页面: 视图模板技术处理绝对路径链接,自动添加上下文--> href="@{/target}">跳转进入专栏 2.指定页面target.html...处理请求的方法需要返回一个字符串类型的视图名称,该视图名称会被视图解析器解析,加上前缀和后缀组成视图的路径,通过Thymeleaf对视图进行渲染,最终转发到视图所对应页面 三、@RequestMapping...=123456"} ) 注:html页面中路径携带的参数,使用()括起来: href="@{/test(username='admin',password=123,age=18)">测试@RequestMapping
题记 —— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。...,向下滑动,抽屉自动向下滑动关闭,可配置形状是否开启这个功能 4、 抽屉打开状态时,当向下滑动抽屉时,没有滑动到一定的距离时放开,抽屉会自动向上滑动回到打开状态,当滑动到一定的距离时放开,抽屉会自动向下滑动到关闭状态...2 DragContainer抽屉视图基本使用 如上图所示的效果,为抽屉视图浮在主视图的上层,所以页面主体内容可考虑使用层叠布局,代码如下: ///上拉抽屉效果 class BottomDragWidget...页面中其他的视图 ///抽屉视图 buildDragWidget(), ], ), ); } ... ......( ///列表的控制器 与抽屉视图关联 controller: scrollController, ///需要注意的是这里的控制器需要使用 ///builder
接下来我们看到从ionic-native导入 StatusBar,因为我们通过Ionic2使用Cordova来访问本地功能,就像控制 status bar。...页面 根组件是一个特例,我们通过 ListPage组件来看看如何添加一个普通的视图到一个Ionic2应用程序。...这允许我们的页面组件在其他地方被导入(import)。 这个视图中有个叫 NavParams 的组件通过构造函数加了进来。...在导航的时候我们就可以返回这个视图的详细信息,我们先查一下值: this.selectedItem = navParams.get('item'); 这时是undefined,因为这个页面被设置成了rootPage...Ionic 2 中,如果你想添加一个视图,并且保存页面导航历史随时可以返回,那么你需要push这个页面到n navigation stack,对应的移除用pop。
Fn–左箭头开头:滚动到文稿开头。Fn–右箭头结尾:滚动到文稿末尾。Command–上箭头将插入点移至文稿开头。Command–下箭头将插入点移至文稿末尾。...Command-Option-V移动:将剪贴板中的文件从其原始位置移动到当前位置。...此快捷键仅在列表视图中有效。左箭头关闭所选文件夹。此快捷键仅在列表视图中有效。Option-连按在单独窗口中打开文件夹,并关闭当前窗口。Command-连按在单独标签或窗口中打开文件夹。...拖移时按 Command 键将拖移的项目移到其他宗卷或位置。拖移项目时指针会随之变化。拖移时按 Option 键拷贝拖移的项目。拖移项目时指针会随之变化。...拖移时按 Command-Option为拖移的项目制作替身。拖移项目时指针会随之变化。Option-点按伸缩三角形打开所选文件夹内的所有文件夹。此快捷键仅在列表视图中有效。
返回值分类 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 例: jsp href="user/testString" >testString...public String testString(Model model){ System.out.println("testString方法执行了"); //模拟从数据库中查寻出...ModelAndView mv=new ModelAndView(); System.out.println("testModelAndView方法执行了"); //模拟从数据库中查寻出...url,不能写逻辑视图。...使用请求 转发,既可以转发到 jsp,也可以转发到其他的控制器方法。
前言 在之前的4篇的内容里,我们较为详细的介绍了路由以及控制器还有视图之间的关系。也就是说,系统如何从用户的HTTP请求解析到控制器里,然后在控制器里处理数据,并返回给视图,在视图中显示出来。...布局页 在控制器和视图那一篇,我们了解到_ViewStart 里设置了一个Layout属性的值,这个值正是用来设置布局页的。所谓的布局页,就是视图的公用代码。...在实际开发中,布局页通常存放我们为整个系统定义的页面框架,视图里写每个视图的页面。...1.1 RenderSection RenderSection 分部渲染,在页面中创建一个标记,表示这个页面块将在子视图(或者是路由的实际渲染视图)中添加内容。...重启应用,然后刷新页面,你能看到这样的页面: ? 如果不做特殊要求的话,定义在布局页中的分部块,视图必须实现。
当选择最新的软件技术时,有几个因素在起作用,其中包括如何将这些技术整合起来。过去两年中,我最喜欢的一项技术就是设计单页面应用(SPA)的 AngularJS。...标记来指定应用的基本 URL。...由于 Angular 视图是 HTML 文件,而 Angular 控制器是 JavaScript 文件,从 Views 文件夹到浏览器,ASP.NET MVC 必须被配置为允许 HTML 文件和 JavaScript...随后如果不需要这些页面,你可以删除关于和联系我们的视图和控制器。 AngularJS 的这种创建控制器的方式是通过注入 $scope 实现的。...我有两个选择,要么直接嵌入 NG-View 代码到母版页 _Layout.cshtml 或使用 Razor 视图将它注入到母版页。我决定简单地从索引 Razor 视图中注入标签。
领取专属 10元无门槛券
手把手带您无忧上云