Java EE

Docker Compose 多容器应用

牧云@^-^@ 提交于 2020-08-15 13:33:22
Docker Compose 多容器应用, 更多关于docker的视频教程 Docker Compose是一个用来定义并运行复杂应用程序的工具。用Compose,你可以在一个文件中定义多个容器应用程序,然后只需一条命令就可以完成使其运行所需的所有操作。 一个使用Docker容器的应用程序通常是由多个容器组成的。使用Docker Compose,不需要编写shell脚本来启动容器。所有的容器都以服务的形式被定义在一个配置文件中,然后使用docker-compose脚本来启动、停止和重启应用和应用中的所有服务,以及服务中的所有容器。 完整的命令列表: 下面是一个Java EE应用连接MySQL的例子 配置文件 首先,创建一个目录javaee 然后,在该目录下创建一个文件docker-compose.yml 在这个Compose文件中: 1.定义了两个服务,分别是“db”和“web” 2. image 指定了服务所使用的镜像 3. environment 定义了用于初始化MySQL的环境变量。其中, MYSQL_DATABASE 指定在镜像启动以后创建的数据库的名字; MYSQL_USER 和 MYSQL_PASSWORD 用于创建用户并设置密码。该用户将被授予超级管理员的权限类连接到通过 MYSQL_DATABASE 变量指定的数据库;. MYSQL_ROOT_PASSWORD 强制的

Tomcat源码分析(3)-容器Container整体架构

徘徊边缘 提交于 2020-08-15 13:16:16
之前的博文介绍了tomcat有两大核心组件,connector和container,connector负责接受外部请求,container负责处理请求,本文从源码的角度介绍container的整体架构。 一、容器分类 tomcat容器为四个: Engine:代表容器引擎,管理多个虚拟站点,一个Service只有一个Engine Host:代表虚拟主机 Context:代表一个web站点 Wrapper:代表一个servlet 二、容器的结构 以上四大容器是父子关系,但是统一实现了Container接口: public interface Container extends Lifecycle { public Pipeline getPipeline(); public Container getParent(); public void setParent(Container container); public void backgroundProcess(); public void addChild(Container child); public Container findChild(String name); public Container[] findChildren(); public void removeChild(Container child); }

Spring的学习与实战

放肆的年华 提交于 2020-08-15 11:30:23
目录 一、Spring起步 学习路线图 Spring的基础知识 什么是Spring Spring框架核心模块 SpringBoot 第一个Spring应用DEMO 编写自己的第一个SpringMVC例子 尝试使用Spring Boot DevTools Spring起步小结 二、基于SpringMVC开发web应用 创建数据模型 创建业务逻辑 创建控制器 设计视图模板 运行Web应用 表单校验 展现校验错误 基于SpringMVC开发web应用小结 三、实现数据持久化 数据库 建立用户信息登记表 Web应用项目集成mysql 使用JdbcTemplate实现数据持久化 再次运行Web应用 实现数据持久化小结 四、使用Spring Data实现数据持久化 Spring Data 四、使用Spring Data JPA持久化数据 添加JPA starter依赖 修改实体类,添加JPA映射注解 声明JPA repository接口 服务层repository 再次运行Web应用 自定义JPA repository 服务层增加查找接口 控制器增加用户查找功能 视图层增加用户查找页面 查找功能测试 使用Spring Data实现数据持久化小结 五、使用Spring Security安全框架保护web应用 启用Spring Security Spring Security的基本登录认证

IDEA 整合 SSM 框架学习

心不动则不痛 提交于 2020-08-15 11:27:36
认识 Spring 框架 更多详情请点击这里: 这里 Spring 框架是 Java 应用最广的框架,它的 成功来源于理念,而不是技术本身 ,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程) 。 什么是 Spring: Spring 是一个 轻量级的 DI / IoC 和 AOP 容器的开源框架 ,来源于 Rod Johnson 在其著作 《Expert one on one J2EE design and development》 中阐述的部分理念和原型衍生而来。 Spring 提倡以 “最少侵入” 的方式来管理应用中的代码,这意味着我们可以随时安装或者卸载 Spring 适用范围:任何 Java 应用 Spring 的根本使命:简化 Java 开发 尽管 J2EE 能够赶上 Spring 的步伐, 但 Spring 并没有停止前进, Spring 继续在其他领域发展,而 J2EE 则刚刚开始涉及这些领域,或者还没有完全开始在这些领域的创新。 移动开发、社交 API 集成、NoSQL 数据库、云计算以及大数据 都是 Spring 正在涉足和创新的领域。Spring 的前景依然会很美好。 Spring 的优势 低侵入 / 低耦合 (降低组件之间的耦合度

学生管理系统(Web)Sql Server+Eclipse

青春壹個敷衍的年華 提交于 2020-08-15 10:42:06
一、应用名称:STD学生管理系统(Javaweb) 二、使用工具:sql server数据库,Eclipse软件 三、实现的功能:多表的综合运用,学生信息的增删改查、条件查询、模糊查询、精确查询等 四、步骤: 1、新建数据库:student 2、新建表: ①学生表:student(sno,sname,ssex,ssdept,sgrade) 属性含义:(学号,姓名,性别,所在系,年级) ②宿舍表:home(sno,shome) 属性含义:(学号,宿舍号) create table student( sno int primary key, sname varchar( 10) not null , ssex varchar( 10 ), ssdept varchar( 10 ), sgrade varchar( 10 )); create table home( sno int , shome varchar( 10) not null , primary key(sno), foreign key(sno) references student(sno)); 3、在eclipse新建web工程并导入连接sql server数据库的jar包:sqljdbc4.jar 4、新建index.jsp,实现加载学生所有信息,以及提供增加信息和查询功能 <% @ page language =

Java学到什么程度可以出去实习?

偶尔善良 提交于 2020-08-15 09:58:10
  Java学成什么样子可以出去实习?主要还是看公司需求!   公司类型,规模,对Java程序员的需求的多少,对Java程序员的不同要求,都决定了你学成什么样子可以实习!   但Java基础,数据库,前端,Java web,框架等都是需要有一定的掌握的。如果有项目经验,找工作会更好。当然,如果有更深层次的分布式架构、服务器虚拟化技术、企业开发解决方法等知识,能更好的找到工作哦!   如果你想找工作,下面这套2020年Java中高级程序员学习线路图能帮到你!   一、Java基础   JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。   在Java基础板块中有6个子模块的学习:   1.基础语法,可帮助你建立基本的编程逻辑思维;   2.面向对象,以对象方式去编写优美的Java程序;   3.集合,后期开发中存储数据必备技术;   4.IO,对磁盘文件进行读取和写入基础操作;   5.多线程与并发,提高程序效率;   6.异常,编写代码逻辑更加健全;   7.网络编程,应用服务器学习基础,完成数据的远程传输。   8.学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。   二、数据库   数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。  

Java大文件分片上传/多线程上传控件

牧云@^-^@ 提交于 2020-08-15 09:23:29
1,项目调研 因为需要研究下断点上传的问题。找了很久终于找到一个比较好的项目。 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面。 https://github.com/freewebsys/java-large-file-uploader-demo 效果: 上传中,显示进度,时间,百分比。 点击【Pause】暂停,点击【Resume】继续。 2,代码分析 原始项目: https://code.google.com/p/java-large-file-uploader/ 这个项目最后更新的时间是 2012 年,项目进行了封装使用最简单的方法实现了http的断点上传。 因为html5 里面有读取文件分割文件的类库,所以才可以支持断点上传,所以这个只能在html5 支持的浏览器上面展示。 同时,在js 和 java 同时使用 cr32 进行文件块的校验,保证数据上传正确。 代码在使用了最新的servlet 3.0 的api,使用了异步执行,监听等方法。 上传类UploadServlet @Component("javaLargeFileUploaderServlet") @WebServlet(name = "javaLargeFileUploaderServlet", urlPatterns = { "

jpa表映射实体

流过昼夜 提交于 2020-08-15 08:41:51
jpa 定义实体(和数据库表和字段映射) @Entity @Table( name = "nb" ) @DynamicInsert @DynamicUpdate public class Nb { @Id @GeneratedValue( strategy = GenerationType.IDENTITY ) @JoinColumn( name = "NB_ID", unique = true ) private Integer nbId; @Column( name = "IMEL" ) private String imei; @Column( name ="DEVICE_ID" ) private String deviceId; @Column( name ="METER_UID" ) private String meterUid; @Column( name ="CREATE_TIME" ) @Temporal(TemporalType.TIMESTAMP) @JsonSerialize( using = JsonDateTimeSerializer.class ) private Date createTime = new Date(); public NB(){} } 来源: oschina 链接: https://my.oschina.net

Spring Security 实战干货:理解AuthenticationManager

会有一股神秘感。 提交于 2020-08-15 07:59:39
1. 前言 我们 上一篇 介绍了 UsernamePasswordAuthenticationFilter 的工作流程,留下了一个小小的伏笔,作为一个 Servlet Filter 应该存在一个 doFilter 实现方法,而它却没有,其实它的父类 AbstractAuthenticationProcessingFilter 提供了具体的实现。稍后我们会根据这个实现引出今天的主角 AuthenticationManager ,来继续介绍用户的认证过程。 2. AbstractAuthenticationProcessingFilter 我们来看看 AbstractAuthenticationProcessingFilter 的核心方法 doFilter 的实现: public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; // 先通过请求的uri来判断是否需要认证,比如默认的

<转>反向ajax实现

不打扰是莪最后的温柔 提交于 2020-08-15 07:51:05
英文原文: Reverse Ajax, Part 1: Introduction to Comet 在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验。客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法和长轮询(long polling)方法的Comet。    前言   web开发在过去的几年中有了很大的进展,我们已经远超了把静态网页链接在一起的做法,这种做法会引起浏览器的刷新,并且要等待页面的加载。现在需要 的是能够通过web来访问的完全动态的应用,这些应用通常需要尽可能的快,提供近乎实时的组件。在这一新的由五部分组成的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用。   在这第一篇文章中,我们要了解反向Ajax、轮询(polling)、流(streaming)、Comet和长轮询(long polling),学习如何实现不同的反向Ajax通信技术,并探讨每种方法的优点和缺点。你可以下载本文中例子的相应源代码。    Ajax