Java EE

El 表达式和 Jstl 标签库

可紊 提交于 2020-11-25 04:53:08
El 表达式学习 1、 什么是 EL 表达式 全称:Expression Language,一种写法非常简介的表达式。语法简单易懂,便于使用。表达式语言的灵感来自于 ECMAScript 和XPath 表达式语言 2、 EL 表达式的作用作用: 让 jsp 书写起来更加的方便。简化在 jsp 中获取作用域或者请求数据的写法。也会搭配 Jstl 来进行使用。 3、 使用 EL 表达式语法结构: ${expression},提供.和[ ]两种运算符来存取数据。 使用:   a) 使用 EL 表达式获取请求数据   i. 获取用户请求数据   ii. 获取请求头数据   iii. 获取 Cookie 数据   b) 使用 EL 表达式获取作用域数据   i. 获取作用域数据   ii. 作用域查找顺序   iii. 获取指定作用域中的数据   c) 使用 EL 表达式进行运算   i. 算术运算   ii. 关系运算   iii. 逻辑运算   d) EL 表达式空值判断 empty JSTL 标签库 1、 什么是 JSTL 标签库 JSTL 是 apache 对 EL 表达式的扩展(也就是说 JSTL 依赖 EL),JSTL 是标签语言!JSTL 标签使用以来非常方便,它与 JSP 动作标签一样,只不过它不是 JSP 内置的标签,需要我们自己导包,以及指定标签库而已!如果你使用

多次尝试学习,终于搞懂了微服务架构

允我心安 提交于 2020-11-25 04:46:55
“ 微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。 今天我们通过一组手绘图来梳理下微服务的核心架构。 图片来自 Pexels 什么是微服务? 微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。 但通常在其而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。 服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API ) 。 每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。 另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务。 可以使用不同的语言来编写服务,也可以使用不同的数据存储。 根据马丁.福勒的描述,我总结了以下几点: ①小服务 小服务,没有特定的标准或者规范,但他在总体规范上一定是小的。

Java学到什么程度才能叫精通?

﹥>﹥吖頭↗ 提交于 2020-11-25 02:17:36
首先Java平台博大精深,一直被誉为互联网霸主;我们都知道互联网技术结构之复杂,所以Java的技术组件,架构也非常之多和复杂;正所谓万丈高楼平地起对吧,想要精通Java,那么首先基础知识必不可少,基础知识我有分为两部分: 1:计算机基础知识 Java也是一门计算机语言,当然暂且不表Java的特点以及和其他语言的对比之类的话。既然是计算机语言那么计算机的基础知识肯定是必备的,操作系统(这个知识最起码在学习Java多线程的时候才能真正的说理解多线程以及多线程调度等等,还有进程管理等等要不很多人动不动就是什么JVM调优,垃圾回收器呀什么什么的,JVM调优并不是简简单单的改动点参数,如果仅仅是改动一点参数就叫JVM调优...对吧其他的这里就不说了); 计算机网络基础知识(最起码的你知道HTTP,TCP/IP,UDP等最基本的这些协议吧,网络通信原理)。 2:程序基础知识 程序的基础知识: 计算机语言的运行原理(例如二进制的计算肯定比十进制的快这些基本的运行原理,还有就是要不你怎么理解JVM对吧等等); 算法(重要,很多互联网大公司很看重这个,算法都不懂,你还说什么代码运行效率;还有就是JDK源码你怎么看都需要算法知识) 数据结构(重要,你去看看Java集合类的源码,哪一个不是数据结构的东西) 下来进入到Java中来说 首先还是那句话,精通一门语言,那么你必须要从它的平台内部开始

在Java中使用MD5和BASE64

 ̄綄美尐妖づ 提交于 2020-11-25 01:18:27
MD5:   在上一篇《 Servlet的学习之Session(5) 》中,为了能使获取的所有随机数都能有相同的位数,我们采用MD5获取随机数的消息摘要(或称数据指纹、数据摘要等等)。   MD5可以将所有的数字组合进行一个算法的运算得出一个新的数字组合,并且这个新的数字组合都是128位,也称为MD5码。MD5码是不可逆的,即无法通过MD5码来进行反向运算得到原始的数据。MD5的应用场合非常多,比如保存用户密码(防止数据库中用户密码被管理员看到,所以数据库中的密码不许使用明文密码),或者文件校验(防止下载的文件是被别人修改后的文件而不是官方原文件,比如苹果开发工具的XCodeGhost事件),或者光盘破损校验等等。   在Java中通过MessageDigest对象来调用方法获取某些数字组合的MD5码(顺便说一句,MessageDigest也可以用来获取SHA校验码)。通过MessageDigest对象调用digest方法来将数字组合转变为字符数组: 1 String data = "1"; 2 3 MessageDigest md = MessageDigest.getInstance("md5"); 4 byte[] md5 = md.digest(data.getBytes()); 5 6   System.out.println(Arrays.toString(md5));

给在校大学生初学开发编程的经验(测试)

时光毁灭记忆、已成空白 提交于 2020-11-24 19:50:32
一、这多东西啥时候能学完? 现在IT新技术日新月异。就常用编程语言而言,有c/c++、汇编、java,c#、Python等;操作系统平台有unix /linux,windows系列;开发工具有VC、VisualStudio2008、Eclipse、NetBeans等;每个大平台下,还有很多的 的方向:如网络、数据库、脚本、HTML、动态网站、游戏开发等;有人还在学Dreamweaver做网页、Flash做动画、Photoshop做美 工、3DMax做三维动画…………是的,我们什么都想学。恨不得把所有的知识统统都塞到肚子里去。看到什么,想学什么! 今天看这VC的书,明天又看Java,后天又看C#,东搞西搞!看到别人做网页。自己兴趣了来了。好,学html语言,我也做网页,听说做 网页要会“网页三剑客”,所以又想学Dreamweaver、Flash。后来开始知道有JSP、PHP、ASP.NET做动态网站这玩意儿。也想去学, 学学学…… 如果你今天想学这个,明天又想学那个。这样你就能永远徘徊在技术的门外。很多人都有过或者正在经历这样的苦闷日子:总觉得有“太多东 西”要学了,然而人的精力是有限的,总有永远学不完的感觉,所以心理特别急,整天惶惶不可终日,不知道先要学哪个,一会儿拿起这本书,一会拿起那本书,折 腾了几个月,突然发现自己什么都没有学到…… 每一个大方向如果没有上几年的学习

使用 IntelliJ IDEA 查看类图,内容极度舒适

白昼怎懂夜的黑 提交于 2020-11-24 18:44:33
点击上方 “ Java专栏 ”, 选择“置顶或者星标” 第一时间阅读精彩文章! 点击这段文字获取: 5个可以写到简历的项目实战视频教程(含源码) 最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。 这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。 查看图形形式的继承链 在你想查看的类的标签页内,点击 右键,选择 Diagrams ,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示: 实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的: 然后你就会得到如下图所示的继承关系图形,以自定义的Servlet为例: 显而易见的是: 蓝色实线箭头 是指继承关系 绿色虚线箭头 是指接口实现关系 优化继承链图形,想我所想 1 去掉不关心的类 得到的继承关系图形,有些并不是我们想去了解的,比如上图的Object和Serializable,我们只想关心Servlet重要的那几个继承关系,怎么办? 简单,删掉。 点击选择你想要删除的类,然后直接使用键盘上的delete键 就行了。清理其他类的关系后图形如下: 2 展示类的详细信息 有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单

Java面试突击第一版发布啦!

送分小仙女□ 提交于 2020-11-24 10:41:37
介绍 你可以把这个文档看做 JavaGuide 的精简版,适合面试前的突击。笔主开源的 JavaGuide(Java学习+面试指南) 地址: https://github.com/Snailclimb/JavaGuide ,目前Star数已经26.3k。 公众号后台回复关键字" Java面试突击 "即可获取下载地址,该资源笔主就永久免费提供给所有人。 概览 废话不多说,先上PDF文档概览(目前只提供给各位PDF阅读版本,阅读体验我个人觉得还是不错的!)。 第一版详细目录 一 简历该如何写 1.1 为什么说简历很重要? 1.2 这3点你必须知道 1.3 你必须知道的两大法则 1.4 项目经历怎么写? 1.5 专业技能该怎么写? 1.6 开源程序员简历模板分享 1.7 其他的一些小tips 二 Java 2.1 Java 基础知识 2.1.1 重载和重写的区别 2.1.2 String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的? 2.1.3 自动装箱与拆箱 2.1.4 == 与 equals 2.1.5 关于 final 关键字的一些总结 2.1.6 Object类的常见方法总结 2.1.7 Java 中的异常处理 2.1.8 获取用键盘输入常用的的两种方法 2.1.9 接口和抽象类的区别是什么 2.2 Java 集合框架

Maven项目不能编译jsp解决方法:Unable to compile class for JSP

孤者浪人 提交于 2020-11-24 04:58:35
一、问题描述: 先交代开发环境,JDK是1.8的,IDE是eclipse 4.7,web服务器是Tomcat 9.0,maven是3.5.0,搭建好环境后输入命令tomcat:run,然后就报org.apache.jasper.JasperException: Unable to compile class for JSP错误。 二、分析问题: (1)不能编译应该是没有导入servlet-api、jsp-api包的原因,然后就在pom文件中加上servlet-api、jsp-api包,为了防止包冲突,需要把<scope>改成provided。 1 < dependency > 2 < groupId > javax.servlet </ groupId > 3 < artifactId > servlet-api </ artifactId > 4 < version > 2.5 </ version > 5 < scope > provided </ scope > 6 </ dependency > 7 < dependency > 8 < groupId > javax.servlet </ groupId > 9 < artifactId > jsp-api </ artifactId > 10 < version > 2.0 </ version > 11 < scope

使用ActiveMQ实现简易聊天功能

若如初见. 提交于 2020-11-24 04:41:49
一 什么是消息队列 我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ 二 为什么要用消息队列 使用消息队列主要有两点好处: 1.通过异步处理提高系统性能(削峰、减少响应所需时间); 2.降低系统耦合性。如果在面试的时候你被面试官问到这个问题的话,一般情况是你在你的简历上涉及到消息队列这方面的内容,这个时候推荐你结合你自己的项目来回答。 三 ActiveMQ ActiveMQ 是基于 JMS 规范实现的。 JMS消息列队有两种消息模式,一种是点对点的消息模式,还有一种是订阅的模式。 四 实现 ActiveMQ下载地址: http://activemq.apache.org/components/classic/download/ 解压缩apache-activemq-5.xxx-bin.zip到一个目录 启动ActiveMQ:运行C:\ apache-activemq-5.xxx\bin\activemq.bat 浏览器中输入: http://localhost:8161/admin/ 测试启动情况 使用点对点方式实现聊天功能 编写消息发送类和接收类

Zookeeper注册中心概述

这一生的挚爱 提交于 2020-11-24 02:56:10
Zookeeper介绍(配合Dubbox使用)   官方推荐使用zookeeoer注册中心,注册中心负责服务地址的注册和查找,相当于目录服务,提供提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力小.   zookeeper是Apacahe Hadoop的子项目,是一个树形的目录服务,支持变更推送,适合作为Dubbox服务的注册中心,工业强度较高,可用于生产环境.   Zookeeper在Linux系统的安装 安装步骤: 第一步:安装Jdk 第二步:把zookeeper的压缩包上传到linux系统. 第三步:解压缩压缩包 tar -zxvf zookeeper-3.4.6.tar.gz 第四步:进入conf目录,吧zoo sample.cfg改名为zoo.cfg Zookeeper服务启动 进入bin目录,启动服务输入命令 ./zkServer.sh start 输出一下内容表示启动成功 关闭服务输入命令 ./zkServer.sh stop 查看状态: ./zkServer.sh status 如果启动状态,提示: 如果未启动状态,提示: 如果想要配置离线约束: 这个地址: http://code.alibabatech.com/schema/dubbo/dubbo.xsd 不配置也是可以的. 入门的一个小Demo 配置Maven环境