springmvc框架

SpringMVC 3.0 常用注解简介

偶尔善良 提交于 2019-12-09 00:49:47
1. 注册注解处理器   命名空间<context:component-scan/> 首先,如果要使注解工作,则必须配置component-scan 。该配置的功能为:启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean。例: <context:component-scanbase-package="com.tgb.web"/>   base-package 属性指定了需要扫描的类包,类包及其递归子包中所有的类都会被处理。还允许定义过滤器将基包下的某些类纳入或排除。    Spring 支持以下 4 种类型的过滤方式:     1) 注解org.example.SomeAnnotation 将所有使用SomeAnnotation注解的类过滤出来     2) 类名指定org.example.SomeClass 过滤指定的类     3) 正则表达式com.kedacom.spring.annotation.web..* 通过正则表达式过滤一些类     4) AspectJ 表达式 org.example..*Service+ 通过AspectJ 表达式过滤一些类    正则表达式的过滤方式举例:       注解的过滤方式举例:    2. 启动Spring MVC 的注解功能

SpringMVC——拦截器及文件上传和下载

柔情痞子 提交于 2019-12-08 22:31:29
目录 自定义拦截器 拦截器类 在springmvc的配置文件中配置拦截器 文件上传和下载 导入jar包 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 过滤器与拦截器的区别:拦截器是AOP思想的具体应用。 过滤器: servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截 拦截器: 拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用 拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的 自定义拦截器 拦截器类 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyInterceptor implements HandlerInterceptor { //在请求处理的方法之前执行 //如果返回true执行下一个拦截器 //如果返回false就不执行下一个拦截器 public boolean preHandle(HttpServletRequest

框架 day69 SpringMVC高级(Validation校验,数据回显,上传,json数据交互,RESTful支持,拦截器)

孤人 提交于 2019-12-08 07:49:37
第二天:高级知识 Validation校验方法(了解) 数据回显掌握 统一异常处理器掌握 上传图片(上传商品图片)掌握 json转换掌握 restFUL支持了解 拦截器掌握 1 注解开发-高级 1.1 Validation(了解) b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,本节主要学习springmvc实现控制层添加校验。 Spring3支持JSR-303验证框架,JSR-303 是JAVA EE 6 中的一项子规范,叫做BeanValidation,官方参考实现是Hibernate Validator(与Hibernate ORM 没有关系),JSR 303 用于对Java Bean 中的字段的值进行验证。 1.1.1 需求 在商品信息修改提交时对商品信息内容进行校验,例如商品名称必须输入,价格合法性校验。 1.1.2 加入jar包 1.1.3 配置validator <!-- 校验器 --> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <!-- 校验器--> <property name="providerClass"

SpringMVC框架(2)之(2.5 Restful支持&配置静态资源过滤)

浪尽此生 提交于 2019-12-08 07:44:20
Restful支持 1. 什么是Restful: Restful是软件开发的理念; HTTP进行了很好地诠释; 2. URL的Restful实现(较简洁): Restful的URL:http: // localhost:8080/items/editItems / 1&… 正常的URL:http: // localhost:8080/items/editItems .action? id=1&… 需求: 根据 id查看商品信息,使用 Restful实现,返回 Json; 步骤: 1. DispatcherServlet的配置 url-pattern 只能是“/”; (Restful时 web.xml中 url-pattern 只能是“/” <url-pattern>/</url-pattern> ,不能是 *.action 等其他); 2. 参数通过URL传递; ① @RequestMapping 中指定 Restful的 url参数,用 { }包起来:@RequestMapping("/viewItems/{id}/{name}") ② @PathVariable 将 url中 { }包起来的参数和后面跟的形参绑定:(@PathVariable(“id”) Integer id) ③ 若返回 json格式数据,在返回类型前加 @ResponseBody注解;

springMVC框架搭建

爷,独闯天下 提交于 2019-12-08 00:22:33
we.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMVC.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name>

---搭建springMvc框架,希望对初学者有所参考

岁酱吖の 提交于 2019-12-06 12:15:32
Spring Mvc ==> Struts2 spring 无法替代 myBatis 工作量大 要自己操作sql语句 ==> hibernate Spring Mvc 取代Stuts2 开发快 运行效率高 mode 指整个界面层 1.在lib文件夹导入所要jar 2、配置web.xml <servlet> <servlet-name>springmvc</servlet-name> <!-- springmvc的总控制器 --> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- springmvc的总控制器 --> <!--tomcat加载完工程后,servletContext初始化后马上创建核心控制器 一上来就加载 不设置也可以,但需要等许久 --> <load-on-startup>1</load-on-startup> <!--tomcat加载完工程后,servletContext初始化后马上创建核心控制器 一上来就加载 不设置也可以,但需要等许久 --> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> <

终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够?

谁都会走 提交于 2019-12-06 10:20:01
终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够? 一只Tom猫4小时前 我要分享 之前有零零散散整理过一些专题给大家参考学习,这次一次性来个终极手撕之架构大全,包含开源框架、分布式、微服务、性能优化等四个大专题共17个小专题,全部一锅端,送给大家一起学习~ 注意:需要全部完整版架构大全答案的可以 【“点击我”免费领取】 《终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够?》 01 开源框架(Spring +SpringMVC+Mybatis) 开源框架答案解析如下: 1.1 手撕开源框架之Spring 什么是 Spring 框架?Spring 框架有哪些主要模块? 使用 Spring 框架能带来哪些好处? 什么是控制反转(IOC) 请解释下 Spring 框架中的 IoC BeanFactory 和 和 ApplicationContext 有什么区别? Spring 有几种配置方式? 如何用基于 XML 配置的方式配置 Spring 如何用基于 Java 配置的方式配置 Spring 怎样用注解的方式配置 Spring 请解释 Spring Bean 的生命周期? Spring Bean 的作用域之间有什么区别? Spring 框架中的单例 Beans 是线程安全的么? 请举例说明如何在 Spring 中注入一个 Java Collection

SpringMvc源码解析

半世苍凉 提交于 2019-12-06 08:26:41
SpringMvc源码解析 转载自:https://www.cnblogs.com/xyz-star/p/9952060.html 最近公司这边在考虑Api gateway,准备用zuul来实现,借此机会,把SpringMvc又了解了下 SpringMvc我相信大家都有用过,但SpringMvc的整个执行流程,不知道大家是否了解。今天主要是针对SpringMvc的执行流程及原理和大家做个分享。 首先,我们可以通过一张图来了解SpringMvc的执行流程 任何一个框架,都有自己特定的适用领域,框架的设计和实现,必定是为了应付该领域内许多通用的,烦琐的、基础的工作而生。SpringMvc作为一个表现层框架,也必须直面Web开发领域中表现层中的几大点: 1、URL到框架的映射 2、http请求参数绑定 3、http响应的生成和输出 那SpringMvc到底是怎么完成以上所述的问题的呢? 下面我以一个Http请求流程,依次介绍SpringMvc整个执行流程,及相关核心接口与类: 用户在浏览器中输入http://www.xxx.com/abc/1的地址,回车后,浏览器发起一个http请求。请求到达服务器后,首先会被SpringMvc注册在web.xml中的前端转发器DispatcherServlet接收,DispatcherServlet是一个标准的servlet

springmvc中拦截器的定义和配置

不羁岁月 提交于 2019-12-06 05:08:39
package com.hope.interceptor;import org.springframework.lang.Nullable;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 自定义拦截器 * * @author newcityman * @date 2019/11/28 - 23:57 */public class MyInterceptor1 implements HandlerInterceptor { /** * 拦截器前处理方法 * * @param request * @param response * @param handler * @return * @throws Exception */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object

SpringMVC--使用hibernate validator数据校验

只愿长相守 提交于 2019-12-06 01:51:56
JSR 303 Spring3开始支持JSR 303 验证框架,JSR303是Java为Bean数据合法性校验所提供的标准框架。JSR 303 支持XML和注解风格的验证,通过在Bean属性上标注类似于@NotNull等的标准注解指定校验规则,并通过标准的验证接口对Bean进行验证。 JSR 303注解约束 约束 说明 @Null 被注解的元素必须为Null @NotNull 被注解的元素必须不为Null @AssertTrue 被注解的元素必须为true @AssertFalse 被注解的元素必须为false @Min(value) 被注解的元素必须是一个数字,其值必须大于等于最小值 @Max(value) 被注解的元素必须是一个数字,其值必须小于等于最大值 @DecimalMin(value) 被注解的元素必须是一个数字,其值必须大于等于最小值 @DecimalMax(value) 被注解的元素必须是一个数字,其值必须小于等于最大值 @Size(max,min) 被注解的元素的大小必须在指定的范围内 @Digits(integer,fraction) 被注解的元素必须是一个数字,其值必须在可接受范围内 @Past 被注解的元素必须是一个过去的日期 @Future 被注解的元素必须是一个将来的日期 @Pattern(value) 被注解的元素必须符合指定的正则表达式