Java EE

解决: java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient

前提是你 提交于 2020-08-11 17:24:47
解决: java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient 当你运行服务器时,报出以上错误解决方案: 最近项目中要求在注册中写一个短信验证,然后我使用javaServlet+jsp+jquery.ajax等技术完成了 但是在运行过程中出了一个异常,这个异常的错误我寻找了一上午。发现了以下几种解决方案 由于短信验证需要导入 commons-logging-1.1.1.jar commons-httpclient-3.1.jar commons-codec-1.4.jar 等jar包 所以错误肯定是围绕以上jar包出现的 第一: 编译能通过,代码应该没问题,那就很可能是依赖的jar包没有打包到运行环境。可以这样试试,项目上右键、属性,然后看图,把报错的类所在的包打上勾 第二: 缺少httpclient 包。 检查有没有把 jar 包放在 WEB-INF 的 lib 目录下。 正常引用jar包,应该可以看到这个类的。 1、先做检查这个jar包是否被引用; 2、删除发布,重新发布再试下; 来源: oschina 链接: https://my.oschina.net/u

单元测试 springboot-test

▼魔方 西西 提交于 2020-08-11 16:30:40
今天整理了下,springboot下单元测试基本用法 若使用了 @RunWith(SpringRunner.class)配置,需要用 org.junit.Test运行,juint4包, junit5包org.junit.jupiter.api.Test 不需要RunWith注解. 一 引入依赖 1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>2.3.0.RELEASE</version> 5 <relativePath/> <!-- lookup parent from repository --> 6 </parent> 7 <groupId>com.example</groupId> 8 <artifactId>mvctest</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <name>mvctest</name> 11 <description>Demo project for Spring Boot</description> 12 13 <properties> 14 <java.version>1.8</java

基于请求/响应对象搜索的Java中间件通用回显方法(针对HTTP)

自古美人都是妖i 提交于 2020-08-11 14:51:22
先感谢一下scz大佬给的博客推荐,受宠若惊+10086。 心血来潮有这么个想法,验证一下。 只讨论思路,工具木有~ 前言 看了很多师傅们在研究针对Java中间件+Java反序列化漏洞回显的研究: https://xz.aliyun.com/t/7740 https://xz.aliyun.com/t/7348 https://paper.seebug.org/1233/ (。。。应该还有挺多,就不翻了) 又看到了c0ny1师傅的作品: 《java内存对象搜索辅助工具》 配合IDEA在Java应用运行时,对内存中的对象进行搜索。比如可以可以用挖掘request对象用于回显等场景。 … 按照经验来讲Web中间件是多线程的应用,一般requst对象都会存储在线程对象中,可以通过 Thread.currentThread() 或 Thread.getThreads() 获取。 并且目前回显思路主要是基于加载类,执行static块或者构造方法(原生反序列化、FastJson、Jackson一类的都有): TemplatesImpl类的反序列化链,内嵌类的bytecode,defineClass。 其他反序列化链使用URLClassLoader进行远程加载类。 JNDI远程加载类。 所以想到: 我们能否写单个类,让它能够触发时,使用2的思路去寻找request和response

跟我一起学JAVAEE吧——JAVA_SE篇——day09上课笔记(详解final修饰符的作用,内部类,成员内部类,局部内部类,匿名内部类傻傻分不清?)

╄→гoц情女王★ 提交于 2020-08-11 14:24:20
day 09 final修饰符 作用 修饰局部变量 一旦final修饰,局部变量不可变 用final修饰的变量,只能被赋值一次 修饰成员变量 用final修饰同样不可变 由于成员变量有默认值,所以使用final修饰后必须手动赋值,不会再有默认值 对于final修饰的成员变量,要么手动赋值,要么构造方法赋值,选其一 如果使用构造方法赋值,必须保证每个构造方法都要对其进行赋值 修饰方法 当final修饰一个方法的时候,这是一个最终方法,也就是不能被重写 对于类和方法来说。abstract和final不能同时使用,因为矛盾 修饰类 final修饰引用数据类型地址值不可变 对于类和方法来说,abstract和final不能同时修饰,因为矛盾 final修饰一个类,这个类不能被继承,所以其中方法也不能被重写 修饰对象 final修饰引用数据类型,引用数据类型地址不可变 final Student s1 = new Student ( "张三" , 20 ) ; s1 = new Stuent ( "李四" , 30 ) ; //报错,地址不可变 修饰符 同类中 同一包中 不同包子类 不同包非子类 public Y Y Y Y protected Y Y Y F default(不写) Y Y F F private Y F F F 内部类 内部类:一个类定义另一个类 使用方法: 外部类名称

day00-01:计算机理论基础,java开发环境与入门 -> java基础大神进阶学习总结之19天(知识点全面覆盖,细节)

…衆ロ難τιáo~ 提交于 2020-08-11 14:22:31
java基础总结 day00-01:计算机理论基础,java开发环境与入门 1.一个程序在计算机中如何运行? [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JiGGq569-1596867898207)(img\程序执行图.png)] 程序存储在硬盘上,当我们运行程序时, 1.硬盘上的数据会被复制到内存上 2.cpu读取内存上的数据 3.如果存在运算,则将数据给运算单元进行运算再返回给cpu 4.最后在根据需求返回给内存或者硬盘或者显示屏 2.cpu内为啥设置换缓存? 设置缓存是为了提高cpu执行效率 cpu每次都会从内存读取数据,频繁读取会拖慢cpu速度,我们将内存中被频繁使用的数据存入缓存,这样当cpu需要这样的数据直接从cpu内部的缓存拿到,大大提高了cpu执行效率。 3.内存,固态硬盘,机械硬盘的对比 读写速度,内存>固态硬盘>机械硬盘 机械硬盘通过电机转动来读取数据,而内存与固态硬盘都是通过电路(跟光速差不多)来读取数据,只是控制方式不同。 4.什么叫载入内存? 定义:将硬盘上的数据复制到内存,才能让cpu处理,完成这个过程需要一个特殊的程序软件:加速器 5.虚拟内存 当我们运行内存超过内存容量时,为了解决这个问题,我们会将这些程序大于内存的部分存回到硬盘,需要时再读出,这种空间叫做虚拟内存 6.关于jdk,jre,jvm的理解 jdk

jsp应用-实现用户登陆功能

有些话、适合烂在心里 提交于 2020-08-11 14:07:29
项目结构 1.login.jsp 这个没什么好说的,把表单提交到校验页面进行校验 2.首先获取request域中user,password,然后进行校验,校验成功把信息存入session域,然后转发到right.jsp页面 放入session域是为了防止不登录进去 3.在right,jsp获取用户名输出 4.需记住request------getParameter("") session--getAttribute("") 5.登陆页面至此结束 来源: oschina 链接: https://my.oschina.net/u/4301845/blog/4299967

Spring事务的传播行为案例分析

断了今生、忘了曾经 提交于 2020-08-11 13:43:17
网上关于Spring事务传播性以及隔离型的文章漫天盖地,还有不负责任的直接复制名词意思,文章虽然很多却是看的云里雾里,我们今天将给出案例分别和大家一起学习。 1、spring给出经常面试的考点Spring事务的4个特性含义---这个很容易理解 2、spring事务传播特性的定义以及案例分析 一、事务的特性ACID 这四个英文单词拼写我一直记不住,求记忆方法 原子性(Atomicity):事务是一系列原子操作,要么全部成功,要么全部失败。 一致性(Consistency):一旦完成(不管是成功还是失败),确保它所在的一系列业务状态保持一致,状态都是成功,或者都是失败,不能一部分成功一部分失败。 隔离性(Isolation):不同事务同时进行某项业务,处理相同的数据时候,需要保证事务之间相互独立,互相之间数据不影响。 持久性(Durability):一旦事务完成,无论发生什么系统性错误,事务执行后的数据都被持久化了,不会因为重启或其他操作对数据进行更改。 二、spring事务传播特性的定义以及案例分析 我们先给出定义再分别进行简单的代码分析 给出百度图片,请大家参考,首先生命力如果想在工程中运用事务spring 的xml必须开启事务,以下这些特性一般都是在xml属性中进行配置。 <bean id="transactionManager" class="org

Java 压缩/混淆 JavaScript 代码

限于喜欢 提交于 2020-08-11 13:29:16
基本上都是自己写的工具构建前端工程,压缩/混淆 JavaScript 代码的工具必不可少。我们是 Java 平台的,就是说用 Java 去压缩 JS,这样比较方便。虽然咱们可以外部调用 node 等专门的前端构建工具,但那样不省事,能在 Java 圈子里面搞定就行,我们不搞太复杂的。好~闲话不多说,先看看低配版的。 低配版 这个低配版就几个函数组成,没以前来其他第三方的包,故称为“低配版”。简单实用也可以,我也用了很久。 /** * This file is part of the Echo Web Application Framework (hereinafter "Echo"). * Copyright (C) 2002-2009 NextApp, Inc. * * Compresses a String containing JavaScript by removing comments and * whitespace. */ public class JavaScriptSimpleCompressor { private static final char LINE_FEED = '\n'; private static final char CARRIAGE_RETURN = '\r'; private static final char SPACE = ' ';

工程中非凸优化利器: Successive Convex Approximation (SCA)

半城伤御伤魂 提交于 2020-08-11 13:20:11
注:本文可以看作对本专栏中“ 工程中非凸优化利器: Majorization-Minimization ” 一文的补充. 以下简称"MM一文". 本文分为以下部分 Part I SCA 原理 Part II A. SCA 算法 Part II B. SCA 算法的收敛 Part III SCA 使用举例 大部分会采用和MM对比介绍的方式进行叙述。 Part I SCA 原理(与MM对比介绍) SCA 的基本原理与MM类似,都是通过对非凸目标函数, 迭代地 ,在一点 上构造一个 更易解 的 近似函数 来使得问题得以简化。二者区别在于近似的条件不同,如下图 所示。 图1:SCA vs MM 原理 下面列出两种方法对于近似函数 的要求 两者前三点要求相同,分别是 近似函数连续性 近似函数和原函数在近似点函数值相同 近似函数和原函数在近似点的一阶导数(方向导数)相同 第四点不同 SCA 要求近似函数是 凸函数 而MM要求近似函数在近似点是原函数的 upper bound (在原函数“上面“). Part II A. SCA 算法 SCA的出现是为了解决实际应用中满足MM的条件的近似函数很难找的问题 (主要是第四点,满足uppder bound 又好解的近似函数很难找)。 然而根据no free lunch 的原则,我们在寻找近似函数上省了力气,就得在求解的时候付出更多力气

Java框架自学视频教程下载:应用开发框架

时间秒杀一切 提交于 2020-08-11 13:18:56
  一、概述   Web应用架构可以划分为两大子系统:前端子系统和后台子系统。   前端子系统:   1.基础技术:Html/Javascript/CSS/Flash   2.开发框架:jQuery,Extjs,Flex等;   后台子系统:   1.基础技术:JavaServlet;   2.开发框架:Struts,Spring,Hibernate,ibatis等;   3.应用服务器:Tomcat/Jetty   编程模型:B/S模型。客户端向服务器端发送请求,服务器经过处理后返回响应,然后客户端根据响应及需求绘制前端展现。   在用户客户端和实际提供功能的Web服务器之间还可能存在着代理服务器,负载均衡服务器,不过那些属于锦上添花的事物,暂时不在考虑范围内。   客户端应用理念:客户端承担大量的交互逻辑及渲染工作,服务器端主要是处理请求和返回数据。   前后端系统耦合:客户端和服务器端各自处理自己内部的子系统耦合;而客户端与服务器端的耦合简化为一个通信与数据通道。该通道用来传输通信请求和返回数据。   请求通信:采用Http/Tcp协议   数据通道:采用Json,xml,文本字符串,字节。内部系统一般采用Json作为数据交换格式;系统间的互操作则采用XML来规范;文本字符串是最一般的形式,字节是最底层的形式。   二、架构演变   最轻的架构:jQuery+Servlet