Java EE

SpringMVC01_入门案例

浪尽此生 提交于 2020-10-08 08:57:16
本教程源码请访问: tutorial_demo 一、MVC模型和三层架构 1.1、MVC模型 MVC的全程是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,是一种用于设计创建Web应用程序的模式 。每个部分有专门的功能: Model(模型) :指的就是我们的数据模型。一般情况下用于封装数据。 View(视图) :用于展示数据,包括我们之前学习的JSP和HTML,也就是用户“看得到”的内容。 Controller(控制器) :处理用户交互的部分,可以认为是我们之前学习的Servlet,用来控制页面跳转,把特定的页面展示给用户。 这是传统的开发方式,在此基础上通过迭代,出现了JavaWeb经典的三层架构。 1.2、三层架构 我们的开发架构一般都是基于两种形式,一种是C/S(客户端/服务器)架构,另一种是B/S(浏览器/服务器)架构。在JavaWeb开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,通过不断迭代,出现了经典的三层架构,包括:表现层、业务层、持久层。三层架构在实际开发中使用的非常多,接下来我们看一下每一层都负责哪些方面: 表现层 : 也被称为Web层; 负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层, web需要接收http请求,完成http响应;

如何避免JSP文件中的Java代码?

早过忘川 提交于 2020-10-08 05:34:14
问题: I'm new to Java EE and I know that something like the following three lines 我是Java EE的新手,我知道类似以下三行 <%= x+1 %> <%= request.getParameter("name") %> <%! counter++; %> is an old school way of coding and in JSP version 2 there exists a method to avoid Java code in JSP files. 是一种旧式的编码方式,在JSP版本2中,存在一种避免JSP文件中的Java代码的方法。 Can someone please tell me the alternative JSP 2 lines, and what this technique is called? 有人可以告诉我替代的JSP 2行,以及这种技术的名称是什么? 解决方案: 参考一: https://stackoom.com/question/DKfl/如何避免JSP文件中的Java代码 参考二: https://oldbug.net/q/DKfl/How-to-avoid-Java-code-in-JSP-files 来源: oschina 链接: https://my

Spring-Boot快速集成jxls-poi (自定义模板,支持本地文件导出,在线文件导出)

那年仲夏 提交于 2020-10-08 03:31:07
Spring-Boot快速集成jxls-poi (自定义模板,支持本地文件导出,在线文件导出) 在项目持续集成的过程中,有时候需要实现报表导出和文档导出,类似于excel中这种文档的导出,在要求不高的情况下,有人可能会考虑直接导出csv文件来简化导出过程。但是导出xlsx文件,其实过程相对更复杂。解决方案就是使用poi的jar包。使用源生的poi来操作表格,代码冗余,处理复杂,同时poi的相关联的依赖还会存在版本兼容问题。所以直接使用poi来实现表格导出,维护成本大,不易于拓展。 我们需要学会站在巨人的肩膀上解决问题,jxls-poi这个就很好解决这个excel表格导出的多样化的问题。类似jsp和thymealf的模板定义,使得表格导出变得简单可控。 不多BB上代码 1.引入关键依赖包 <!-- jxls-api依赖 --> < dependency > < groupId > org.jxls </ groupId > < artifactId > jxls-poi </ artifactId > < version > 1.0.15 </ version > </ dependency > < dependency > < groupId > org.jxls </ groupId > < artifactId > jxls </ artifactId > < version

漏洞挖掘的艺术-面向二进制的静态漏洞挖掘

馋奶兔 提交于 2020-10-08 02:49:06
亲爱的,关注我吧 8/31 文章共计3165个词 今天的内容有一些图,流量用户注意哦 和我一起阅读吧 0 本文是本系列的第二篇,将对面向二进制程序的静态漏洞挖掘技术进行介绍与分析。 面向二进制程序的静态漏洞的挖掘技术由于缺少源代码中的结构化信息,面临着值集分析(vaule-set analysis,VSA)与控制流恢复不精确的问题,但是二进制程序相对于源码而言更容易获得,所以这方面的研究工作一直都有新的研究动态,并且会在第2部分介绍目前流程的两种技术。在进一步分析之前,我们首先来具体解释前文提出的两个问题。 1 1.1 值集分析是一种结合数值分析和指针分析的静态分析算法。VSA是一种基于抽象解释的、流敏感、上下文敏感、支持过程间分析的方法。VSA首先建立抽象内存模型,恢复可执行程序中的变量并用抽象地址表示,然后对每条指令静态计算抽象地址可能包含的值的集合。 典型的值集分析算法的伪码表示如下 上图的集合W被称为word-list,其操作包括add,removeNext,分别用于添加和移除项。Word-list按照拓扑顺序进行排序,初始化时包含着基本块的入口点,用于指示从此处开始正向分析。while循环的每次迭代里,Analysis函数都会在第6行被调用来分析选中的基本块。Analysis会基于输入状态产生大量的输出状态,那些变化的输出状态会被添加到word-list中

2020超全Java面试手册,总计167页,大厂技术真题整理

大憨熊 提交于 2020-10-07 09:28:44
金九银十已在当下,这边整理了一份2020最新的Java面试宝典,从Java基础部分、算法与编程、Java web部分、XML部分、流行的框架与新技术、软件工程与设计模式、j2ee部分、EJB 部分、webservise 部分等。该手册是PDF版本,左侧是目录,可以点击,右侧是对目录面试知识点的讲解,非常需要在当下寻求新的机会的Java程序员。 这套面试题主要目的是帮助那些还没有 java 软件开发实际工作经验,而正在努力寻找 java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。 Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法。 算法与编程 Java web部分 XML部分 流行的框架与新技术 软件工程与设计模式 j2ee部分 EJB 部分 webservise 部分 其他 以上所有面试题都有整理,需要的可以点赞文章,然后扫码即可获取。 来源:

Java面试题总结答案(乱序版,2020-08-17)

耗尽温柔 提交于 2020-10-07 07:56:22
目录 一、JDK 和 JRE 有什么区别? 二、== 和 equals 的区别是什么? 三、hashcode是什么?有什么作用? 四、Java 容器都有哪些? 五、Collection 和 Collections 有什么区别? 六、List、Set、Map 之间的区别是什么? 七、Synchronized 用过吗,其原理是什么? 八、jsp 和 servlet 有什么区别? 九、请列举出在 JDK 中几个常用的设计模式? 十、什么是 Spring 框架?Spring 框架有哪些主要模块? 十一、使用 Spring 框架能带来哪些好处? 十二、什么是 Spring Boot?Spring Boot 有哪些优点? 十三、为什么要使用 hibernate? 十四、mybatis 中 #{}和 ${}的区别是什么? 十五、RabbitMQ的使用场景有哪些? 十六、数据库的三范式是什么? 十七、Redis是什么?都有哪些使用场景? 十八、说一下 jvm 的主要组成部分?及其作用? 十九、说一下 jvm 运行时数据区? 一、JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib

Intellij IDEA创建spring MVC项目

浪尽此生 提交于 2020-10-07 07:51:49
相信各位未来的Java工程师已经接触到了spring MVC这个框架的强大之处,看了很多的教程,都是eclipse的,在intellij IDEA这个强大的工具面前居然不能很顺畅的,今天我就带领大家用IDEA创建Hello World程序。 注: 1、本文只讲解怎么用intellij IDEA进行创建spring MVC项目,并不会讲解具体的spring MVC框架基础,如需了解框架原理,请移步其他教程。 2、本文是我在刚学习Spring MVC框架中,看了很多的教程,经过了前前后后很多的坑点进行编写,不足之处,多多指点,谢谢 环境: intellij IDEA 2017 CI JDK 1.8 tomcat 8.5.23 具体步骤 1、新建项目 勾选Spring MVC 、Web Application(勾选了Spring MVC后IDEA默认会勾选Web Application),Next 2、填写项目名、项目路径 这里项目名我用简单的springmvcdemo,路径就使用默认路径,Finish 3、创建文件夹如图 classes、lib文件夹我建议和我文件夹名相同(只是建议)、路径我建议也相同,其他两个文件夹看个人爱好哈。 4、导入相关jar包(IDEA自动导入) 在IDEA中其实已经给我们自动导入了相关jar,只不过我们需要在WEB-INF目录下导入相关jar包

零基础学java的十个得心应手的方法

痴心易碎 提交于 2020-10-07 07:27:38
零基础学习 java 能学会吗? 零基础如何学习 java? 有什么方法吗? 今天由我来分享下关于零基础学习 java 的方法。 Java发展前景 据权威统计,在所有软件开发类人才的需求中,对 Java 工程师的需求达到全部需求量的 60%~70%,Java 软件人才的缺口巨大,对应薪水也是随之水涨船高。 越来越多的大学生看好 Java 的大好发展前景,选择进行系统化的专业培训后,进入企业从事 Java 开发工作。Java 岗位需求量每年以22%左右的速度增长着,其中尤以 Java 程序员、Java 工程师、Java 架构师、技术总监最为缺乏。全国每年 Java 工程师的缺口高达50万+。 掌握一门高含金量的技能,拥有一份不菲的高薪职业,是大多 IT 职场人士的正确打开方式。中级工程师月入高达 12-18K,高级工程师则有机会突破 30K,成为架构师和 CTO 更是年薪百万。 参考智联对于 java 岗位的需求,共35754个职位满足条件,猎聘网显示共找到 10000+ 职位,拉勾网显示职位 ( 500+ )。Java 的综合需求还是很大的。只要有实力就不怕找不到工作。 至于 java 开发的薪资待遇,参考职友网数据:北京 java 开发平均工资¥10890元/月,上海 java 开发平均工资¥11490元/月,深圳 java 开发工程师平均工资¥11890元/月,广州 java

记录springboot2.X 使用avtivemq 存在的问题,日志重复打印Transaction Commit :null,开启连接池JmsMessagingTemplate无法注入问题

守給你的承諾、 提交于 2020-10-07 06:34:07
问题一: activemq: pool: enabled: true 开启连接池,启动项目会报错,提示JmsMessagingTemplate无法注入,只要加上依赖即可。 <!--springboot2.X 要开启activemq pool必须引入此连接池依赖--> <dependency> <groupId>org.messaginghub</groupId> <artifactId>pooled-jms</artifactId> </dependency> 因为JmsMessagingTemplate本身依赖连接工厂,启用连接池后就会依赖连接池工厂,因为版本的原因,如果没有正确的引入连接池依赖,那么项目启动肯定会报错:JmsMessagingTemplate无法注入。 因为你不引入,IDEA会标红显示无这个类(JmsPoolConnectionFactory) package org.springframework.boot.autoconfigure.jms.artemis; import javax.jms.ConnectionFactory; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; import org.apache.commons.pool2

过滤器实现权限过滤

爷,独闯天下 提交于 2020-10-07 05:13:03
目录 一 需求 二 实战 一 需求 用户登录后才能进入主页,用户注销后不能进入主页。 二 实战 1 定义常量 package com.cakin.constant; /** * @ClassName: Constant * @Description: 常量类 * @Date: 2020/6/16 * @Author: cakin */ public class Constant { /** * 保存用户Session */ public static final String USER_SESSION = "USER_SESSION"; } 2 定义权限过滤器 package com.cakin.filter; import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.FilterChain; import javax.servlet.http.HttpServletRequest; import javax.servlet.http