spring mvc
文章平均质量分 77
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
【SpringMVC(十七)】静态资源
在SpringMVC中,如果对静态资源不做特殊处理,如果找不到会返回404.原因是,我们在web.xml中会这样配置dispatcherServlet的url-pattern: <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/&l...原创 2020-04-06 19:17:28 · 525 阅读 · 0 评论 -
【SpringMVC(十六)】分片上传 例子
对于大文件的上传,客户端可以多线程分片上传,加快速率,服务端需要merge分片并存储。常见思路:通过status预上传接口获取一个key,再调用分片接口上传每一个分片,上传完调用publish接口完成上传。status接口的key用于串联整个过程。一个简单的示例:@RestController@RequestMapping("/rest/n/testApi")public c...原创 2020-04-05 20:27:36 · 260 阅读 · 0 评论 -
【SpringMVC(十五)】HttpRange 分片下载 断点续传
基于http协议实现断点续传。请求部分,需要在请求头里加入Range头,表示本次请求的byte数组的开始和结束位置。https://tools.ietf.org/html/rfc7233#section-3.1格式为:Bytes=开始-结束。如果不填表示0或者最后。对于要支持断点续传的服务器,需要处理这个请求头,如果发现有Range头部,需要对响应特殊处理。body:返回Ran...原创 2020-04-05 20:12:26 · 2818 阅读 · 0 评论 -
【SpringMVC(十三)】ResponseEntity 使用 及 原理
使用ResponseEntity可以作为controller的返回值,比如对于一个处理下载二进制文件的接口,可以这么定义: @RequestMapping("/download") public ResponseEntity<byte[]> download(@RequestParam String fileName) throws IOException {...原创 2020-04-05 17:22:53 · 41060 阅读 · 1 评论 -
【SpringMVC(十四)】HttpMessageConverter
接口定义:public interface HttpMessageConverter<T> { boolean canRead(Class<?> clazz, @Nullable MediaType mediaType); boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType)...原创 2020-04-05 19:19:22 · 326 阅读 · 0 评论 -
【MongoDB】spring 集成 MongoDB
1,所需要的jar包: spring本身的jar; mongodb驱动包:mongo-java-driver.jar spring对mongo的支持:spring-data-commons-core.jar和spring-data-mongodb.jar sfl4j相关的:因为mongo要用到sfl4j日志,所以要加入。slf4j-api-1.5.8.jar,slf原创 2016-03-30 11:08:33 · 542 阅读 · 0 评论 -
【SpringMVC(一)】父子容器 web应用 容器启动 原理
之前介绍了spring ioc容器的基本原理,这里介绍下spring ioc容器在web场景下的原理。主要从以下几个方面:1.web应用容器概述2.web应用父容器启动过程;3.web应用父容器与servletContext的关系;4.dispatcherServlet中子容器启动过程;5.dispatcherServlet的子容器与父容器的关系;6.两个容器的配置文件;...原创 2019-06-16 21:57:50 · 1036 阅读 · 2 评论 -
【SpringMVC(六)】@RestController 与 @Controller 区别
其实很简单,打开@RestController注解即可:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController { /** * The value may indicate a...原创 2019-08-10 20:44:44 · 125 阅读 · 0 评论 -
【SpringMVC(八)】@ResponseBody 使用 及 原理
@Response注解用于表明控制器返回的是json而非jsp页面。例子:@RequestMapping("/testBody") @ResponseBody public Object testBody(){ Person person = new Person(); person.setAge(10); person.s...原创 2019-08-10 20:51:12 · 2163 阅读 · 0 评论 -
【SpringMVC(三)】 HandlerAdapter
HandlerAdapter在springmvc中是一个十分重要的角色。作用如下:1.负责直接调用控制器来处理请求;2.负责在调用控制器的前定制化处理request以及在调用后定制化处理response;3.隐藏不同类型控制器的调用细节;下面看一下HandlerAdapter接口:public interface HandlerAdapter { /** * Gi...原创 2019-08-11 00:59:38 · 542 阅读 · 0 评论 -
【SpringMVC(二)】HandlerMapping
HandlerMapping在springmvc中也是很重要的一个模块,其主要职责是根据request请求的路径来匹配到特定的控制器。首先看下其接口方法:public interface HandlerMapping { HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception;}...原创 2019-08-11 01:01:06 · 429 阅读 · 0 评论 -
【SpringMVC(九)】返回值
springmvc最开始支持的是返回一个web页面,主要是jsp。为了支持jsp的渲染,引入了一个ModelAndView类。所以通常情况下,早期的控制器直接返回的就是一个ModelAndView对象。甚至在DispatcherServlet中,一个handler的返回结果就是ModelAndView类型。但是,随着后端技术的发展,springmvc更多的是作为一种后端服务的框架,返回值已...原创 2019-08-11 19:22:39 · 174 阅读 · 0 评论 -
【SpringMVC】目录
【SpringMVC(一)】父子容器 web应用 容器启动 原理【SpringMVC(二)】HandlerMapping【SpringMVC(三)】HandlerAdapter【SpringMVC(四)】三种 HandlerMapping【SpringMVC(五)】三种 控制器【SpringMVC(六)】ArgumentResolver 使用 及 原理【SpringMVC(...原创 2019-08-11 19:39:52 · 479 阅读 · 1 评论 -
【SpringMVC(十)】基于Java类 配置SpringMVC
在servlet3.0之前,是使用xml配置文件来启动springmvc的。主要是:在web.xml里面配置一个listener以及一个dispatcherServlet,可以配置一个applicationContext的父容器配置文件;再配置一个springmvc的配置文件,里面主要是配置component-scan和annotation-driven;在servlet3....原创 2019-08-17 20:28:24 · 841 阅读 · 0 评论 -
【sql server】解决 com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'.
今天使用spring template写了一条sql server的分页语句:String sql = "SELECT TOP ? * FROM [user] WHERE id NOT IN (SELECT TOP ? id FROM [user] )";报错信息如下:com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect原创 2016-05-16 13:27:52 · 14439 阅读 · 2 评论 -
【SigmaGrid控件】使用 demo
SigmaGrid是一款表格控件,但是第一次接触它的人可能觉得很难使用,确实如此,原因在于,我们之前使用的表格控件其实只是一种样式罢了,并非是一款真正意义上的控件,比如bootstrap,它仅仅是对table tr td这些标签添加了一些样式,然后前台用c:foreach之类的循环标签输出这些tr td。分页之类的前台逻辑我们必须自己手动完成,比如“下一页”标签,bootstrap提供给我们的可能原创 2016-05-16 12:01:09 · 6799 阅读 · 0 评论 -
spring mvc redirect/forward 表单重复提交
最近一直在用spring mvc,关于redirect forward和提交方面不是很通,整理一下。spring mvc最后return 一个字符串,一般来说是webcontent 下面的一个页面路径,比如:return "/WEB-INF/view/login.jsp";上面这句就是说处理完一个请求之后,显示login.jsp这个页面,并且用request等一堆对象里面的数据原创 2016-01-21 11:10:39 · 2512 阅读 · 0 评论 -
【spring mvc(一)】初识spring mvc——环境搭建
spring 和 struts是J2EE的两个主流框架。下面介绍spring3.0的 springmvc搭建方式。1.下载jar包 这里包括两种类型的jar包,一个是spring3.0的包,另一个是叫做commons-logging-1.1.1.jar的包,它会被spring用于日志记录中,如果不导入会报错。将上述包全部copy至项目WEB-INF文件夹下面的lib文件夹,表原创 2015-12-25 17:36:47 · 402 阅读 · 0 评论 -
【spring mvc(二)】spring mvc使用属性文件配置c3p0和dbcp数据源
spring mvc如果要用到数据库,就要为项目配置数据源,目前有两个比较常见的数据源:c3p0与dbcp。这两个都是连接池技术,连接池的概念大概是,维护若干个数据库的连接,程序需要使用的时候直接返回给它,这样做的用意是降低数据库连接,关闭的开销,如果每次程序请求数据库都进行连接操作,那么代价会很大,取而代之的做法是先准备好若干个连接,用的时候返回即可。1.web.xml: <web-原创 2016-01-27 14:29:40 · 5180 阅读 · 4 评论 -
【spring mvc (三)】spring 容器
1.spring容器的作用:spring容器本质是一个上下文,是我们编写的应用的环境。为什么要使用这个上下文?传统上我们写a调用b的f方法肯定是在a类的方法中new一个b的对象,在用b的f方法,这样写的问题主要是增加了a,b的耦合,具体体现在,a本来是调用b的方法,但是它必须事先new一个b,new一个b以为着要得知b的另一个接口(本来只要知道j),现在又要知道b的创建接口(构造方法),潜在的原创 2016-01-28 16:37:15 · 370 阅读 · 0 评论 -
【spring mvc(四)】spring mvc使用静态资源
1.问题再现: spring / we.xml的mapping配置如果是“/”,那么在jsp页面中访问js文件会被拦截:打开浏览器开发者工具,发现js访问不到。下面是集中解决方案。2.修改web.xml,把mapping改成"*.htm"或者"*.do"这样的,就可以访问了。当然这种并不友好,如果业务需求必须是“/”,就原创 2016-01-29 13:43:11 · 726 阅读 · 0 评论 -
【springmvc (六)】 使用log4j 日志
1,导入相关的jar,出了需要spring相关的,还得导入log4j.jar,这个jar会依赖common-*.jar。2,日志配置文件,logj4.properties:log4j.rootLogger = DEBUG, FILE, stdoutlog4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.原创 2016-03-16 13:23:19 · 444 阅读 · 0 评论 -
zTree 简单使用
zTree简单来说是一款处理树形结构的前端控件,下面总结一下它的简单使用。1,下载相关文件。从官网上,或者下面地址https://github.com/zTree/zTree_v3即可下载。解压后有如下图所示的文件:页面中主要会用到css和js两个文件夹。2,打开demo》》cn文件夹,新建test.html,这个文件的位置其实没有关系,这里只是为了引用css和js的方便,原创 2016-03-08 16:27:19 · 2418 阅读 · 0 评论 -
”check the manual that corresponds to your MySQL server version for the right syntax to use“解决
今天使用hibernate3来反向建表,突然报了一个如下的错误:log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.Hibernate: insert into user原创 2016-01-07 13:50:56 · 6560 阅读 · 0 评论 -
SSH 环境搭建(Spring3+Struts2+Hibernate3)
首先下载相应的文件和包:mysql tomcat spring3 struts2 hibernate31.先搭建一个struts2的web项目打开Eclipse,File>>New>>Dynamic Web Project。在WebContent/WEB-INF文件夹下新建一个web.xml文件,内容如下: <web-app id="WebApp_9" version="2.4" xm原创 2016-01-04 17:48:24 · 615 阅读 · 0 评论 -
【SSH (三)】struts2项目搭建
1,下载struts2 jar包。http://struts.apache.org/。2,Eclipse新建web dynamic project,项目默认是没有web.xml的,通常这时会去网上找,但是又会担心是否靠谱,每一次建项目都得复制粘贴。其实可以让Eclipse生成一份web.xml文件,这个更加方便也更靠谱。填完项目名不要finish,而是选择next下去,然后原创 2016-03-10 11:20:57 · 604 阅读 · 0 评论 -
【jsp】使用SimpleTagSupport自定义标签库
使用springmvc作为开发环境。1,概述 自定义标签库是jsp api下的内容。通常一个自定义标签会包含3部分内容:标签处理类,tld标签描述文件,jsp文件(使用)。 *标签处理类:继承自 SimpleTagSupport类即可,重写其doTag()方法。我们在页面写了一个自定义标签,这个标签的最终输出内容就是在doTag方法里面实现的,调用getJspContext得到原创 2016-04-06 18:04:35 · 7164 阅读 · 0 评论 -
【lingerui+ztree】springvc 中使用的例子
注意点:在springmvc中添加静态文件的引用,否则会被拦截。推荐的方式就是页面引用的路径不变,springmvc配置文件中按照引用方式配置引用路径,这样在jsp使用的时候并不会察觉已经对静态文件配置了。js的引入有先后顺序,juqery第一个引入。http://pan.baidu.com/s/1geQUlXL原创 2016-04-08 15:30:28 · 616 阅读 · 0 评论 -
【spring】容器概述
1,spring容器,最基本的容器行为定义在BeanFactory接口中,DefaultListableBeanFactory则是spring容器的最基本实现类,其余的容器实现类都是使用DefaultListableBeanFactory为基本容器,然后在扩展一些特定的功能。2,容器初始化的过程:(1)定位资源,即找到容器配置文件的位置,得到的是一Resource接口的实例;(2)载入原创 2016-04-15 11:00:25 · 295 阅读 · 0 评论 -
Eclipse 下 更改字符集
最近遇到的项目需要查看别人写的代码,导入之后发现所有的中文都乱码了,于是才需要更改编码方式位GBK。上网查询之后发现有三种方式1.更改eclipse的默认编码方式:Window>>Preferences>>Workspace即可,如下图:2.更改项目的字符集右击项目,选择Properties>>Resouces即可,如下图:3.更转载 2015-12-29 12:51:03 · 2327 阅读 · 0 评论