Java EE

6.8 MultipartResolver文件上传解析器(深入Spring MVC的九大组件) -《SSM深入解析与项目实战》

时光怂恿深爱的人放手 提交于 2020-09-28 08:26:56
文章目录 6.8 MultipartResolver文件上传解析器 6.8.1 MultipartResolver源码 6.8.2 MultipartResolver初始化 6.8.3 CommonsMultipartResolver分析 6.8 MultipartResolver文件上传解析器 MultipartResolver是处理文件上传的策略接口,主要是将一个普通的请求(HttpServletRequest)包装成MultipartHttpServletRequest进行实现。在Servlet3.0以前,没有使用Spring MVC,处理文件上传是比较麻烦的一件事(需要手动解析请求)。现在Spring MVC对于请求进行了包装,可以很方便的处理文件上传。 6.8.1 MultipartResolver源码 先看一下MultipartResolver接口的源码。如代码清单6-36所示。 代码清单6-36:MultipartResolver源码 public 来源: oschina 链接: https://my.oschina.net/u/4280596/blog/4616526

Elasticsearch整理笔记(一)

别来无恙 提交于 2020-09-28 00:11:46
Elasticsearch定义 elastic(弹性、灵活)+search(搜索) Elasticsearch 是一个支持分布式、高扩展、高实时的高效搜索与数据分析引擎。 支持分布式实时文件存储。 支持将字段值都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。 Elasticsearch 的实现原理主要分为以下几个步骤 用户将数据提交到Elasticsearch 数据库中。 es通过分词控制器去将对应的语句分词。(这里如需更高级的策略优化,后期可以替换分词器)。 将其权重和分词结果一并存入数据库。 当用户搜索数据时候,根据权重将结果排名,打分(相关度)。 将返回结果呈现给用户。 有关概念 cluster:代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。 shards:代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。 replicas:代表索引副本

javaweb04_JSP(Java Server Pages)

本小妞迷上赌 提交于 2020-09-26 18:06:57
javaweb04_JSP(Java Server Pages) JSP入门: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <!DOCTYPE html> < html > < head > < meta charset = " UTF-8 " > < title > Hello </ title > </ head > < body > < p > Hello,BLU! < p > <%! public void test(){ System.out.println("test方法"); } %> < br > <% int a=1,b=2; %> <% System.out.println(a+b); %> <% test(); %> <%= a+b %> < br > <%= new Date().toLocaleString() %> < br > <% out.print("Hi, BLU!"); %> </ body > </ html > JSP的page指令: <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"

谷粒商城SpringSession(三十五)

為{幸葍}努か 提交于 2020-09-26 11:55:35
225-230 在官网上截了2个片段,具体如下: 5. HttpSession Integration Spring Session 使用 HttpSession 提供透明的 integration。这意味着开发人员可以使用 Spring Session 支持的 implementation 切换 HttpSession implementation。 5.1 为什么 Spring Session&HttpSession? 我们已经提到 Spring Session 为 HttpSession 提供了透明的 integration,但是我们从中得到了什么好处呢? 集群会话 - Spring Session 使得支持群集会话变得微不足道,而不依赖于 application 容器特定的解决方案。 RESTful API - Spring Session 允许在 headers 中提供 session ID 以使用RESTful API 5.2 与 Redis 的 HttpSession 通过在使用 HttpSession 的任何内容之前添加 Servlet 过滤器来启用 Spring Session 和 HttpSession 。您可以选择使用以下任一方式启用此功能 基于 Java 的 Configuration 基于 XML 的 Configuration 5.2.1 Redis

第 1-1 课:Spring Boot 产生的背景和它的设计理念

岁酱吖の 提交于 2020-09-26 01:44:58
《精通 Spring Boot 42 讲》共分五大部分,第一部分是从零起步的基础内容,共4课,帮助大家快速认识 Spring Boot ,我会带领大家熟悉 Spring Boot 产生的背景和设计理念,同时也会讲解 Spring Boot 的环境搭建和项目介绍,最后以一个 Hello World 为例,来测试一下环境的搭建以及熟悉开发的流程。本章的重点内容是 Spring Boot 2.0 的新变化,如果学习过此前课程的同学可以重点关注这一节。下面我们就具体进入第一讲的内容。 要了解 Spring Boot 产生的背景,我们就必须要先了解一下 Spring 的发展史,不仅因为 Spring Boot 来源于 Spring 体系,而且 Spring Boot 的诞生和 Spring 框架的发展息息相关。 Spring 的发展史 时间回到 2002 年,当时正是 Java EE 和 EJB 大行其道的时候,很多知名公司都是采用此技术方案进行项目开发。这时候有一个美国的小伙子认为 EJB 太过臃肿,并不是所有的项目都需要使用 EJB 这种大型框架,应该会有一种更好的方案来解决这个问题。 他为了证明自己的想法是正确的,在 2002 年 10 月写了一本书《Expert One-on-One J2EE》,介绍了当时 Java 企业应用程序开发的情况,并指出了 Java EE 和 EJB

第 1-2 课:Spring Boot 2.0 都更新了什么(上)

故事扮演 提交于 2020-09-25 10:56:27
2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重大修订,因此有多新功能和特性值得关注!在 Spring Boot 官方博客中我们了解到:Spring Boot 2.0 版本经历了 17 个月的开发,有 215 个不同的使用者提供了超过 6800 次的提交。 我们将 Spring Boot 2.0 更新的技术分为三类进行解读: 第一类,基础环境升级; 第二类,默认软件替换和优化; 第三类,新技术的引入。 基础环境升级 最低 JDK 8,支持 JDK 9,不再支持 Java 6 和 7 Spring Boot 2.0 要求 Java 8 作为最低版本,许多现有的 API 已更新,以利用 Java 8 的特性。例如,接口上的默认方法,函数回调以及新的 API,如 javax.time。如果你正在使用 Java 7 或更早版本,则在开发 Spring Boot 2.0 应用程序之前,需要升级你的 JDK。 Spring Boot 2.0 通过测试可以在 JDK 9 下正常运行,同时 Spring Boot 2.0 宣布不再支持 Java 6 和 7,据我了解国内绝大部分互联网公司的基本环境还在 JDK 7 或者 6 环境下运行,考虑升级 Spring Boot 2.0

CGB2005-京淘19

走远了吗. 提交于 2020-09-24 16:22:55
1.用户模块 1.1 用户登出操作 1.1.1 编辑UserController /** * 实现用户的登出操作 要求删除cookie 和redis中的数据(key) * 步骤: 通过cookie获取ticket信息. * url: http://www.jt.com/user/logout.html * 参数: 暂时没有 * 返回值: 重定向到系统首页 */ @RequestMapping ( "/logout" ) public String logout ( HttpServletRequest request , HttpServletResponse response ) { Cookie [ ] cookies = request . getCookies ( ) ; if ( cookies != null && cookies . length > 0 ) { for ( Cookie cookie : cookies ) { if ( "JT_TICKET" . equals ( cookie . getName ( ) ) ) { //获取value之后删除cookie String ticket = cookie . getValue ( ) ; jedisCluster . del ( ticket ) ; //删除redis中的数据 //删除cookie时

Java常问面试题整理,帮你搞定‘金9银10’(附答案纯干货)

霸气de小男生 提交于 2020-09-23 16:53:02
前言: 工作做螺丝钉,面试造火箭,我想这个是每个程序员比较头疼的事情,但是又有必须经历的流程,尤其是摸不清面试官问的问题,准备不充分,导致面试的时候不知道如何回答。本文是小编个人从几十次面试中挑选的面试几率比较大的一些题,保证都是大家被问过的(就是这么自信),希望对大家找工作有所帮助。 下方的题只是我整理出来的一部分常问面试题,另外本人整理收藏了20年多家公司面试知识点整理 ,以及各种Java核心知识点免费分享给大家,下方只是部分截图 想要资料的话也可以点击 795983544 领取 暗号CSDN。 基础部分 一丶抽象类和接口的区别 1.语法区别 (1)抽象类可以有构造方法,接口不能有构造方法; (2)抽象类中可以有普通成员变量,接口中没有普通成员变量; (3)抽象类中可以有非抽象的方法,接口中的方法都必须是抽象的; (4)抽象类中的方法可以是public,protected类型,接口中的方法只能是public类型的,切 默认为public abstract类型; (5)抽象类中可以有静态方法,接口中不能有静态方法; (6)抽象类中的静态变量访问类型可以是任意的,但接口中的静态变量只能是public static final 类型。 (7).一个类可以实现多个接口,但一个类只能继承一个抽象类; 2.应用区别 接口更多是在系统架构方面发挥作用,主要用于定义模块之间的通信契约

00038-layui 打开新页面,并通过url带参数,在新页面获取url的参数

夙愿已清 提交于 2020-09-23 12:44:19
打开的页面为一个页签 top.layui.index.openTabsPage('business/businessUserShow.jsp#/self=1','个人信息') businessUserShow.jsp: <script> layui.config({ base: '${ctxLayui}/layuiadmin/' }).extend({ index: 'lib/index' }).use(['index', 'form','dict','laytpl','util','element'], function(){ var $ = layui.$ ,form = layui.form; var dict = layui.dict; var laytpl = layui.laytpl; var util = layui.util; var router = layui.router(); var admin = layui.admin; var formData = window.parent.formData; var self = null; try{ self = router.search.self; if(self==1){ // top.layui.index.openTabsPage('business/businessUserShow.jsp#/self

SpringBoot启动Tomcat失败:Unable to start embedded Tomcat

有些话、适合烂在心里 提交于 2020-08-20 09:14:59
异常描述 之前项目是dubbo的,分为两个服务,service数据层和web请求控制,使用dubbo互相调用的,现在要把dubbo去掉,使用SpringCloud的eureka了,要把两个合并成一个项目,这里并不是要把所有代码复制过去,而是把service使用maven引用到web项目里面,然后修改对应的配置和包路劲,启动的时候,竟然报错了,编译是没有任何问题的。 10:02:26.349 logback [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/8.5.23 10:02:26.463 logback [Tomcat-startStop-1] ERROR o.apache.catalina.core.ContainerBase - A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[