Java EE

关于Excel表格导出方法--application/vnd.ms-excel

∥☆過路亽.° 提交于 2020-08-04 16:13:31
公司的一个项目用到了前端导出Excel,可以把页面Table中的数据和格式一并导出,非常方便,在这边做个记录。 有几个关键点需要注意: Response设置: ContentType:application/vnd.ms-excel ---设置文件类型 Content-Disposition:attachment;fileName=excel.xls ---设置文件名 Style样式: 尽量不要使用引入的CSS文件中的样式,否则,导出的excel文件用WPS或者office打开不带样式 代碼如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; response.setContentType("application/vnd.ms-excel");

java http大文件断点续传上传方法

空扰寡人 提交于 2020-08-04 14:59:23
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。 如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。 在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。 这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前端发送请求顺利到达后台后,服务器只需要按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件即可。 为了便于开发,我 将服务端的业务逻辑进行了如下划分,分成初始化

spring 国际化-i18n

风流意气都作罢 提交于 2020-08-04 14:29:32
i18n(其 来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。在资讯领域,国际化(i18n)指让产品(出版 物,软件,硬件等)无需做大的改变就能够适应不同的语言和地区的需要。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 在全球化的时代,国际化尤为重要,因为产品的潜在用户可能来自世界的各个角落。通常与i18n相关的还有L10n(“本地化”的简称)。<摘自百度 百科 http://baike.baidu.com/view/372835.htm?fr=aladdin > 代码下载 http://pan.baidu.com/s/1sjNQmfF Maven依赖 <properties> <springframework>4.0.5.RELEASE</springframework> </properties> <dependencies> <!-- Spring web mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${springframework}</version> </dependency> </dependencies

MVC与JavaEE三层架构之间有关系吗?

我怕爱的太早我们不能终老 提交于 2020-08-04 13:39:23
MVC与三层架构有关系吗? JavaEE的三层架构在服务器开发时,一般情况下分为三层,其实我们真正在实践的时候,这三层是通过什么体现的呢?一般情况下是通过包结构体现的,就是你在你的工程当中,建三个包,一个叫web包,一个叫service包,一个叫dao包,通过这个体现出三层架构。那,MVC呢?我们画个图。 这个代表你的客户端,后面是服务器端和数据库。 在服务器的内部有我们的web工程,比如这就是我们的web工程 这个工程你在开发的时候,之前都没有使用三层架构,现在我使用三层架构开发,怎么开发呢?通过包结构进行三层的区分。 dao层无非就是操作数据库的,我们什么代码往dao层写呢?操作数据库的所有的代码。 比如说有表单进行提交,那么,首先找web层,找web层找谁呀?找servlet 然后servlet怎么做呢?比如说你的这个表单中有很多数据要进行封装,是要封装到一个JavaBean中,我要在servlet中,把我的数据javaBean封装,这些操作都是在web层 封装之后,你的数据就都在javaBean中封装的,如果封装完之后就完事了,那是不行的,相当于没干什么作用,比方按照注册来说,注册的时候有一个注册表单,填完数据之后,提交给servlet,servlet将你表单中提交的数据封装到一个比方说叫user当中,然后将这个user进行传,传给谁?传给service层

Servlet今日学习

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-04 13:39:06
Servlet的生命周期 测试实例: 第一次运行: 连续运行多次: 疑问:为什么连续运行多次但并没有实例化初始化多次? 因为Servlet是多线程的当访问时创建一个线程吧request和response对象放进新线程中 终止Tomcat服务: Servlet的生命周期: 实例化一次,初始化一次,服务调用多次,终止tomcat时摧毁Servlet一次 Servlet初始化中标签作用的范围 init()方法 : web.xml文件: Servlet中代码: 运行例子: context方法: web.xml: Servlet代码: 运行结果: load-on-startup方法: web.xml: 运行结果: Listener监听器: web.xml: 监听器代码: 运行结果: 注意:监听器本质上是application 他会在所处的环境中去获得相应的东西 来源: oschina 链接: https://my.oschina.net/u/4367530/blog/4462153

JavaEE的三层架构

泄露秘密 提交于 2020-08-04 12:43:50
JavaEE的三层架构 JavaSE不涉及web开发,JavaSE本身没有三层架构的概念,这个三层架构是在JavaEE的规范当中。JavaEE涉及企业级开发,也是web的东西。 JavaEE有三层。 第一层叫web层 有人还叫它控制层,基础班叫它控制层,还有一些其他的名字; web层在这里主要完成什么工作呢?web层主要的功能是与客户端交互。什么叫与客户端交互?客户端把数据给我,需要web层去接收数据,那,最终我要把一个页面显示给用户,谁负责提供页面进行显示呢?web层。因为web层是与客户端进行交互的。 第二层叫service层 也叫应用层,还有一些其他的名字; service层是干嘛的呢?service层负责复杂的业务处理。你要进行什么业务呀?你要进行什么运算呀?特别复杂的东西,都往service层扔。 第三层叫dao层 它叫数据层,或者叫持久层,或者叫数据持久层。 dao层是与数据库进行交互的。 为什么要分三层呢?它分层的一个主要的目的就是让我们更加有逻辑性的编写代码。每一层都有自己的事,如果不分层,那么,代码一下子写一堆,那就没有办法区分了,逻辑性不强,所以,要进行分层,这是分层的一个最主要的作用。 总结 web层是与客户端进行交互的,那么,从服务端往客户端那边延伸就有了,dao层是与数据库交互的,从服务器端往数据库端延伸就有了,把所有的业务操作都放到service层。

你必须了解的「架构」小历史

不羁的心 提交于 2020-08-04 11:50:15
做项目时我们一直在说框架、架构,那它到底是什么呢? 什么是架构 从 dubbo 官网我们可以看到架构设计的发展演变史。 这里把架构分成四类: 单一应用架构 垂直应用架构 分布式服务架构 流动计算架构 刚开始时 PHP + MySQL 就可以形成网站了。 这种模式支持中小型网站是没有问题的,但是一旦形成大型网站就支撑不住了。 所以现在各大主流公司还是会选择 Java。 我们项目中的类会打包成一个 JAR 包运行在服务器里,最初所有模块是在一个 JAR 包的,也就是单一应用,随着用户量的提升、访问量的增大,JAR 包越来越大,单一应用运行起来越来越慢,所以单一架构就不再适合了。 此时引入分布式架构,把一个模块拆分成几个单独的模块以提升效率,一个 JAR 包分成几个 JAR 包运行在不同的服务器上,引入了 MVC 的设计模式。 随着业务量的剧增,几台服务器也已经不够用了,效率比较低,此时每个模块用 N 台服务器进行部署。 当请求进来之后,会按照一些策略,把它随机分配到负载均衡的服务器。此时每个服务器的 request 就比较少了,提高了效率。这个就是分布式服务架构。 每台服务器之间需要通信的,用的就是 RPC 框架。 当分布式架构也不够用了,最后演变成流式架构,此时 SOA 是关键。 Java 开发的主流框架演变之路 现在 Spring 基本占据主导地位了,那么在 Spring

推荐 33 个 IDEA 最牛配置,好用到飞起来!

梦想的初衷 提交于 2020-08-04 11:16:46
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨琦彦 blog.csdn.net/fly910905/article/details/77868300 1.设置maven 1.在File->settings->搜索maven 2.Mavan home directory--设置maven安装包的bin文件夹所在的位置 3.User settings file--设置setting文件所在的位置 4.Local repository--设置本地仓库 2.IDEA 设置代码行宽度 1.在File->settings->Editor->Code Style 2.有人会问,如果输入的代码超出宽度界线时,如何让IDE自动将代码换行? 有两种方式! 3.第一种,在上述的“Right margin (columns)”的下方,有“Wrap when typing reaches right margin”选项,选中它,是什么效果呢? 4.随着输入的字符的增加,当代码宽度到达界线时,IDEA会自动将代码换行。 5.第一种方式是在输入代码时触发,还有第二种方式,在File->settings->Code Style->Java中,选中“Wrapping and Braces”选项卡, 6.在

种群进化+邻域搜索的混合算法(GA+TS)求解作业车间调度问题(JSP)-算法介绍

柔情痞子 提交于 2020-08-04 11:16:22
程序猿声 代码黑科技的分享区 过去小编简单了解过作业车间调度问题(JSP),这两个月简单接触了柔性车间调度问题(FJSP),但是因为一些原因打算暂时研究到这里。 在研究的时候,小编发现网上这方面的 中文资源不多,那么秉持着普度众生的原则,就在这里和大家分享一下最近研究的一些成果。 柔性作业车间调度问题介绍 之前我们曾经做过车间调度问题(JSP)的内容,相关可以看这篇文章: 这里再简单介绍一下FJSP: 集合 表示一系列相互独立的工件,任一工件 需要经过 等一系列工序的加工方可完成,工序之间按照固定的加工顺序依次完成。集合 表示可用的加工机器, 表示工件 的第 道工序,可以在可用机器集合 中的任意机器上进行加工。每道工序的加工时间与加工机器相关。 一道工序一旦开始加工,就不能中断。每台机器一次只能加工一道工序。在初始加工时刻,所有工件和机器都是可用的。 一般来说,该问题的目标是最小化Makespan,通常用L来表示,即从开始加工到所有工件加工完毕总的时长。 综上所述,柔性车间调度问题和车间调度问题相似,在此之上改变了一个条件:对JSP,每道工序只能在某个特定的机器上加工;对FJSP,工序可能有多个可加工的机器(且不同机器上加工时间不同)。 所以,FJSP不光要选择工序在机器上加工的顺序,还要选择在哪个机器上加工。这也意味着FJSP是比JSP更复杂的优化问题。 根据小编这段时间的研究