modelandview

springMvc02

放肆的年华 提交于 2019-12-04 01:51:47
响应数据和结果视图 返回值 返回String: 返回的字符串会被springMvc解析成视图, 然后返回, 如果没有这个资源会报错 如: 代码中返回 "success", 在经过springMvc解析后(配置文件添加了后缀".html"), 会转发到success页面 字符串可以这么写: "forward:/success": 表示转发到success页面, 默认就是转发 "redirect:/success.jsp": 表示重定向到success.jsp页面, 用这中写法的时候, 需要写去掉项目名的全路径 返回void: 在方法中通过HttpServletRequest和HttpServletResponse处理业务并设置转发或者重定向后, 就没有必要有返回值了, 可以声明方法返回void 如果方法中没有设置结果视图(转发或重定向)直接生命返回void会导致栈溢出 返回ModelAndView ModelAndView是SpringMVC为我们提供的一个对象, 该对象也可以用作控制器方法的返回值. 而且, 当我们返回其他类型值的时候, SpringMvc也会将返回的对象封装为ModelAndView对象, 然后再进行处理 ModelAndView对象中的方法: ModelAndView addAllObjects(@Nullable Map<String, ?> modelMap

Springboot 注册拦截器

依然范特西╮ 提交于 2019-12-04 00:15:31
拦截器 创建myInterceptor类 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class MyInterceptor1 implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("MyInterceptor >>> preHandle"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView

Spring-MVC

喜你入骨 提交于 2019-12-04 00:02:22
Spring MVC的介绍   Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,   即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,   框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发 MVC设计模式 MVC 是一种著名的设计模式,特别是在 Web 应用程序 领域。模式全都是关于将包含业务数据的模块与显示模块的视图解耦的。这是怎样发生的? 视图(例如,JSP 页面) 怎样能够与其模型(例如,包含数据的 JavaBean)解耦?记得这句格言么?一个层次的重定向几乎可以解决计算机业中的所有问题。确实,在模型和视图之间引入重定向层可以解决问题。此重定向层是控制器。 控制器将接收请求,执行更新模型的操作,然后通知视图关于模型更改的消息。 依赖于模型的状态并且依赖于请求的控制器可以决定要显示哪个视图。 Spring MVC框架的优势(特点) 1、清晰的角色划分:           前端控制器(DispatcherServlet)、           请求到处理器映射(HandlerMapping)、           处理器适配器(HandlerAdapter)、           视图解析器(ViewResolver)、      

Spring MVC

时光毁灭记忆、已成空白 提交于 2019-12-03 23:47:22
Spring MVC概述 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的 Servlet进行Web开发。 Servlet的弊端:      1、Servlet的编码问题 请求-响应(内置编码过滤器) 2、无法自动封装参数。(3种参数传递,类型的自动转换+封装) 3、doXXX方法,oper=(根据自身需要任意声明函数) 4、切换WEB工程的版本,Servlet配置复杂。 支持XML和注解 2.5 以上。 SpringMVC部分架构:    MVC 是一种著名的设计模式,特别是在 Web 应用程序领域。模式全都是关于将包含业务数据的模块与显示模块的视图解耦的。这是怎样发生的?视图(例如,JSP 页面)怎样能够与其模型(例如,包含数据的 JavaBean)解耦?记得这句格言么?一个层次的重定向几乎可以解决计算机业中的所有问题。确实,在模型和视图之间引入重定向层可以解决问题。此重定向层是控制器。控制器将接收请求,执行更新模型的操作,然后通知视图关于模型更改的消息。依赖于模型的状态并且依赖于请求的控制器可以决定要显示哪个视图。

REST风格

时间秒杀一切 提交于 2019-12-03 22:58:48
path = "/view/{参数}"# REST风格 介绍REST 我们这种风格是相当于带参数时,参数没有使用传统的?号后面带参数形式 我们可以清晰的看出来我们的参数是1 示例: /view/?id=1 ==> /view/1 1.那到底什么是 REST 风格呢? REST:全称: Reqresentational State Transfer 即 表述性状态转移 可以简单的理解为:使用url表示资源,每个资源都用一个独一无二的url表示,并使用 HTTP表示操作方法,即准确描述服务器对资源的处理动作(GET,POST,PUT,DELETE) ,实现资源的增删改查 那我们应该获取这个风格所带的参数呢 对于这种风格我们Spring MVC提供了@PathVariable注解,可以将URl中的 {XXX} 占位符参数绑定到控制器处理方法入参中 假如我们的一个提交路径为: path = "/view/{参数}" 我们可以到Controller层编写到一下代码获取到参数 //设置查看,使用REST风格 @RequestMapping(value = "view/{id}",method = RequestMethod.GET) public ModelAndView ShowView(@PathVariable Integer id) { ModelAndView

springMvc

两盒软妹~` 提交于 2019-12-03 15:39:58
1.用户请求到前端控制器 2.前端控制器去找处理器映射器,和获取对应的处理器和处理器拦截器 3.前端控制器调用处理器适配器 4.处理器适配器调用处理器(具体方法) 5.处理器返回modelAndView到处理器适配器 6.处理器适配器将ModelAndView返回给前端控制器 7.前端控制器将ModelAndView传递给视图解析器 8.视图解析器返回具体View 9.前端处理器将View渲染后 10.响应给用户 来源: https://www.cnblogs.com/MrYangjlPython/p/11802584.html

SpringMVC代码复制版

大城市里の小女人 提交于 2019-12-03 11:39:48
Lib 目录 Java 目录 HelloController文件代码 import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("Hello SpringMVC"); String name = request.getParameter("name"); System.out.println(name); // 设置参数,回显到页面 // request.setAttribute("msg", "今天下雨了"); // request.getRequestDispatcher("

SpringMVC的异常处理

徘徊边缘 提交于 2019-12-03 11:00:14
1、异常处理的思路 Controller调用Service,Service调用Dao,异常都是向上抛出的,最终由DispatcherServlet找异常处理器进行异常的处理。 2、SpringMVC的异常处理 编写自定义异常类(做提示信息的) /** * 自定义的异常类 * Create by ljc on 2019/11/4 */ public class SysException extends Exception { // 异常提示信息 private String message; @Override public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public SysException(String message) { this.message = message; } } 编写异常处理器 public class SysExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request,

Spring Boot MVC 使用 JSP 作为模板

こ雲淡風輕ζ 提交于 2019-12-03 09:55:25
Spring Boot 默认使用 Thymeleaf 作为模板引擎,直接在 template 目录中存放 JSP 文件并不能正常访问,需要在 main 目录下新建一个文件夹来存放 JSP 文件,而且需要添加依赖。 1. 创建目录存放 JSP 文件 首先在 main 目录下新建一个 webapp 目录(任何名称都可以),然后在 Project Structure 中将它添加到 Web Resource Directory。 2. 添加依赖 在 pom.xml 中添加依赖以支持 JSTL 和 JSP: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> 3. MVC 配置 编辑 application.yml: spring: mvc: view: suffix: .jsp prefix: /view/ 设置前缀为 JSP 文件存放的相对路径(这里将 JSP 文件放在 view 目录),后缀为 .jsp 。 4. 编写控制器和页面

how to pass variables from java to jsp in Spring

匿名 (未验证) 提交于 2019-12-03 08:56:10
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: in a spring framework I want to pass some variables(objects) to jsp page. I can pass one object with: ModelAndView modelAndView= new ModelAndView("JspPageName", "message", message); return message @Controller public class DomainEkleController { private DomainJDBCTemplate domainJDBCTemplate; private MemurJDBCTemplate memurJDBCTemplate; @ModelAttribute("Domain") public Domain getDomain() { return new Domain(); } @Autowired @Qualifier("domainJDBCTemplate") public void setDomainJDBCTemplate(DomainJDBCTemplate domainJDBCTemplate) { this