modelandview

springboot+异常统一处理

荒凉一梦 提交于 2019-12-01 01:24:02
在“网银纯净框架“”中 针对Web请求抛异常,且代码没有捕获处理的异常,进行统一捕获处理。 在Spingboot中同样适用。(下面代码是将SpringMVC的代码放到了springboot中,同样起效果,当向前台抛异常时,会统一捕获。至于下面写的具体处理逻辑针对的是前台是jsp,由于采用了springboot+vue的模式,后台无法进行页面跳转,故处理逻辑就不适用了) 但对异常统一捕获处理的方式很好,这里就留个存档,待以后扩展开发用 package com.nsoft.gkzp.syscore.config; import java.io.IOException; import java.io.Writer; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.nsoft.gkzp.syscore.web.ControllerException; import com.nsoft.gkzp.syscore.web.UserContext; import org.apache.logging.log4j.LogManager; import org.springframework.context.annotation

idea springboot jsp访问404 问题解决

半腔热情 提交于 2019-12-01 00:38:57
如题springboot配置视图解析,访问controller返回modelandview,配置正确,路径正确,访问页面404 使用各种关键词搜了大半天,基本搜到的都是依赖包问题,或者modelandview导入包的错误。检查了很久,发现项目并无以上错误。继续搜索,找到原因是idea配置问题,详见https://blog.csdn.net/news_out/article/details/87863295 跟着配置做了一遍就好了,go大的可以解释一波吗~~~~~ 来源: CSDN 作者: bighandbigfootrabbit 链接: https://blog.csdn.net/bighandbigfootrabbit/article/details/93877308

Spring Boot教程(十):Spring Boot集成jsp

戏子无情 提交于 2019-12-01 00:36:14
一、项目准备 直接使用上个章节的源码, Spring Boot教程(九):Spring Boot集成Mapper4 二、添加依赖 <!-- jsp --> < dependency > < groupId > javax.servlet </ groupId > < artifactId > jstl </ artifactId > </ dependency > < dependency > < groupId > org.apache.tomcat.embed </ groupId > < artifactId > tomcat-embed-jasper </ artifactId > < scope > provided </ scope > </ dependency > 三、修改配置文件 在 application.properties 配置文件中添加jsp相关配置: ## jsp spring .mvc .view .prefix =/WEB-INF/jsp/ spring .mvc .view .suffix = .jsp # 配置Tomcat编码 server .tomcat .uri -encoding=UTF- 8 四、创建jsp文件 在 src/main 下创建 webapp/WEB-INF/jsp 文件夹。 在 jsp 文件夹下创建 index.jsp

IDEA从无到有搭建Springboot Hello Web

爱⌒轻易说出口 提交于 2019-11-30 23:30:51
Springboot Hello Web 最近在学习通过springboot写一个hello页面,通过百度以及结合项目中的使用,Mark一下其实现过程。本文通过IDEA实现。 创建项目 打开IDEA,点击 [File] ->[New] ->[Project…](如下图)。 创建项目(如下图) 到此项目已近创建完毕。创建完成后,其结构如下: 接下来进行代码实现。 创建Controller类 创建Controller类,其内容如下 @Controller public class HelloController { @RequestMapping ( value = "/hello" ) public ModelAndView sayHello ( ) { return new ModelAndView ( "/hello" ) ; } } 修改Springboot启动类,在该java文件里面添加@ComponentScan注解,其内容如下所示: @SpringBootApplication @ComponentScan ( "com.demo" ) public class DemoApplication { public static void main ( String [ ] args ) { SpringApplication . run ( DemoApplication

SpringMVC注解

落花浮王杯 提交于 2019-11-30 23:13:54
目录   注解@Controller ,@RequestMapping,@ModelAttribute,@ResponseBody   注解形控制器 介绍   自动扫描Controller的HelloWorld   URL路径映射(REST风格的URL)   @ResponseBody使用    注解有哪些?   @Controller:用于标识是处理器类; @RequestMapping:请求到处理器功能方法的映射规则; @RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定; @ModelAttribute:请求参数到命令对象的绑定; @SessionAttributes:用于声明 session 级别存储的属性,放置在处理器类上,通常列出模型属性(如 @ModelAttribute)对应的名称,则这些属性会透明的保存到 session 中; @CookieValue:cookie 数据到处理器功能处理方法的方法参数上的绑定; @ResponseBody:处理器功能处理方法的返回值作为响应体(通过 HttpMessageConverter 进行类型转换); @PathVariable:请求 URI 中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持 RESTful 架构风 格的 URI; 注解形控制器 package com.ht.web; .

SSM相关知识

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-30 18:43:41
1.SpringMVC的工作流程? 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器 5. 执行处理器(Controller,也叫后端控制器)。 6. Controller执行完成返回ModelAndView 7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器 9. ViewReslover解析后返回具体View 10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。 11. DispatcherServlet响应用户 2.Spring在SSM起什么作用? Spring是一个轻量级框架,也是一个容器,Spring实质上讲就是一个Bean工厂,主要用来管理Bean的生命周期和框架集成。有IOC控制反转,DI依赖注入

java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(下)注解配置,统一错误处理和拦截器

五迷三道 提交于 2019-11-30 18:38:07
  我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下。 统一异常处理 比如我们的运行时异常的500错误。我们来自定义一个类 package com.springmvcbk.utils; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.PrintStream; public class MyExceptionResolver implements HandlerExceptionResolver { public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { ModelAndView

SpringMVC 上传功能

我的未来我决定 提交于 2019-11-30 13:22:30
Spring 框架上传 jpg 文件方法 首先需要准备一个选择图片上传的 jsp 页面: <form action=”upload” method =”post” enctype=”multipart/form-data”>/* 这个声明是很重要的,表明这个表单支持多元数据,如果没有会导致失败。 */ <input type=”file” accept=”image/*” name =”image” /> <input type=”submit” value=”upload”> </form> 以上是前端页面,接下来是 spring 的后端流程 首先在控制器的 servlet 的 xml 上表明支持开放图片上传功能: < bean id ="multipartResolver" class ="org.springframework.web.multipart.commons.CommonsMultipartResolver" /> 再创建一个实体类,这个实体类保证 spring框架通过javaBean来进行图像文件的对象转换和传输: public class UplaodImageFile { MultipartFile image ; public MultipartFile getImage() { return image ; } public void setImage

数据后台管理(二)产品管理

左心房为你撑大大i 提交于 2019-11-30 07:11:57
1.查询所有产品信息 从数据库ssm1中product表中查出所有的产品信息,并在页面中展示。 1.1在domain包下新建一个product类用于封装产品信息 由于数据库中的departureTime是Date类型,productStatus只是0或1,为了将这两个数据也展示在页面上在product类中需要新加两个String类型的成员变量departureTimeStr和productStatusStr,将原先的两个变量封装成String类型。 1 package club.nipengfei.domain; 2 3 import club.nipengfei.utils.DateUtils; 4 5 import java.util.Date; 6 7 public class Product { 8 private String id; // 主键 9 private String productNum; // 编号 唯一 10 private String productName; // 名称 11 private String cityName; // 出发城市 12 private Date departureTime; // 出发时间 13 private String departureTimeStr; 14 private double productPrice

30分钟学会如何使用Shiro

余生长醉 提交于 2019-11-30 07:00:44
一、架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例: (1)使用用户的登录信息创建令牌 UsernamePasswordToken token = new UsernamePasswordToken(username, password); token可以理解为用户令牌,登录的过程被抽象为Shiro验证令牌是否具有合法身份以及相关权限。 (2)执行登陆动作 SecurityUtils.setSecurityManager(securityManager); // 注入SecurityManager Subject subject = SecurityUtils.getSubject(); // 获取Subject单例对象 subject.login(token); // 登陆 Shiro的核心部分是SecurityManager,它负责安全认证与授权。Shiro本身已经实现了所有的细节,用户可以完全把它当做一个黑盒来使用。SecurityUtils对象,本质上就是一个工厂类似Spring中的ApplicationContext。Subject是初学者比较难于理解的对象,很多人以为它可以等同于User,其实不然