Java
XiufengWu
热爱学习
展开
-
json在servlet与ajax之间的传递实例
java对象 这是uservo定义的源码package VO.userVO;import PO.userPO.UserPO;/** * Created by A on 2017/5/21. */public class UserVO { private String account;//用户账户,也是用户唯一标志,登录时使用,每个用户的账户是唯一的。账户格式要求只能包含英文字母、数字原创 2017-06-06 21:19:24 · 1469 阅读 · 0 评论 -
Mac OS X下Maven的安装与配置
Mac OS X 安装Maven:下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile添加下列两行代码,之后保存并退出Vi:export M2_HOME=/Users/robbie/apache-maven-3.3.3ex转载 2018-01-17 16:57:56 · 228 阅读 · 0 评论 -
SPRINGBOOT-打包
作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权归作者所有,转载请注明出处有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发、调试、打包到最后的投产上线。开发阶段单元测试在开发阶段的时候最重要的是单元测试了,s转载 2018-01-17 18:08:39 · 284 阅读 · 0 评论 -
Cookie与Session的区别
以下是知乎的一个热门回答1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务转载 2018-01-18 15:19:57 · 217 阅读 · 0 评论 -
使用Spring Boot开发Web项目
前面两篇博客中我们简单介绍了Spring Boot项目的创建、并且也带小伙伴们来DIY了一个Spring Boot自动配置功能,那么这些东西说到底最终还是要回归到Web上才能体现出它的更大的价值,so,今天我们就来看一下如何使用Spring Boot来开发Web项目。当然,如果小伙伴对Spring Boot尚不熟悉的话,可以先参考一下这两篇博客:1.初识Spring Boot框架转载 2018-03-07 11:29:09 · 230 阅读 · 0 评论 -
Spring Boot学习之No bean named 'entityManagerFactory' available异常
详情见:Spring Boot学习之No bean named 'entityManagerFactory' available异常转载 2018-03-05 22:30:21 · 5405 阅读 · 0 评论 -
Java中Object类的公有方法
HashCode();wait();notify();equals();getClass();toString();clone();finalize(); 这里只是简单介绍一下其中的几个函数: HashCode(): * As much as is reasonably practical, the hashCode method defined by * class {@c...转载 2018-03-20 18:07:24 · 366 阅读 · 0 评论 -
JavaMail实现注册邮箱验证案例
在日常生活中,我们在一个网站中注册一个账户时,往往在提交个人信息后,网站还要我们通过手机或邮件来验证,邮件的话大概会是下面这个样子的:用户通过点击链接从而完成注册,然后才能登录。也许你会想,为什么要这么麻烦直接提交注册不就行了吗?这其中很大一部分原因是为了防止恶意注册。接下来让我们一起来使用最简单的JSP+Servlet的方式来完成一个通过邮箱验证注册的小案例吧。准备工作前提知识动手实践之前,你最...转载 2018-04-02 21:24:43 · 812 阅读 · 0 评论 -
全局静态成员变量和全局普通变量变量占用的内存单元都是在程序结束后才释放的吗?
ava中不存在全局静态成员变量和全局普通变量类的静态变量在内存中只有一个。静态变量位于方法区,被类的所有实例共享。静态变量的生命周期取决于类的生命周期(即类何时被加载和卸载)。 2. 类的每个实例都有相应的实例变量。实例变量位于堆区中。实例变量的生命周期取决于实例的生命周期(即实例何时被创建及销毁)。 3. 假如成员变量(包括静态变量和实例变量)是引用变量,那么当该成员变量结束生命周期时,...转载 2018-04-06 00:01:15 · 1578 阅读 · 0 评论 -
局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
我们先来看内存中的几大区: 内存到底分几个区?下面有几种网上的理解,我整理一下:一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)...转载 2018-04-06 00:03:31 · 481 阅读 · 0 评论 -
JNDI 是什么
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。转载 2017-12-18 19:33:50 · 296 阅读 · 0 评论 -
设计原则:组合复用原则
一、什么是组合复用原则组合复用原则也叫合成/聚合复用原则(CARP),就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 这个原则的简短表述就是:要尽量使用组合,尽量不要使用继承。二、实现复用的两种方式在面向对象的设计里,有两种基本的方法可以在不同的环境中复用已有的设计和实现,即通过组合或通过继承。转载 2017-11-24 00:11:44 · 580 阅读 · 0 评论 -
依赖注入原理(为什么需要依赖注入)
0. 前言在软件工程领域,依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。本文主要介绍依赖注入原理和常见的实现方式,重点在于介绍这种年轻的设计模式的适用场景及优势。1. 为什么需要依赖注入控制反转用于解耦,解的究竟是谁和谁的耦?这是我在最初了解依赖注入时候产生的第一个问题。下面转载 2017-11-23 23:57:05 · 447 阅读 · 0 评论 -
java使用assert断言时不起作用的解决办法
因为java的断言是默认关闭的,需要先开启。run -> Edit configurations,Configuration -> VM options, 在文本框中输入“-ea”, 点击OK即可。再次运行,发现assert报错。原创 2017-09-27 08:56:53 · 10374 阅读 · 0 评论 -
json字符串与java对象互转
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式,JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON转载 2017-10-30 22:21:04 · 535 阅读 · 0 评论 -
JSONUtil.bean2Json()报has no read method. SKIPPED问题
文庄链接:点击打开链接转载 2017-10-30 22:26:14 · 876 阅读 · 0 评论 -
设计模式六大原则(1):单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T转载 2017-11-10 14:15:28 · 189 阅读 · 0 评论 -
设计模式六大原则(2):里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子转载 2017-11-10 14:17:32 · 188 阅读 · 0 评论 -
设计模式六大原则(3):依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接转载 2017-11-10 14:19:36 · 203 阅读 · 0 评论 -
设计模式六大原则(5):迪米特法则
定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。低耦合的优点不言而喻,但是怎么转载 2017-11-10 14:24:30 · 210 阅读 · 0 评论 -
设计模式六大原则(6):开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 开闭原则是面转载 2017-11-10 14:26:33 · 173 阅读 · 0 评论 -
IDEA连接mysql教程,以及出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的解决办法
一、代码先贴出相应的代码import java.sql.*;public class GetConnection { public static void main(String[] args){ try{ //调用Class.forName()方法加载驱动程序 Class.forName("com.mysql.jd原创 2017-10-16 18:17:55 · 4424 阅读 · 0 评论 -
Intellij插件 - PMD
intellij插件https://plugins.jetbrains.com/plugin/4596-qaplug--pmd1 安装插件并重启2 静态分析右击项目,并选择“Analyze” > "Analyze Code"选择“Run with chosen profile”转载 2017-11-19 22:59:52 · 2428 阅读 · 0 评论 -
Spring boot 整合CXF开发web service
前言说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如银行、航空公司的机票查询接口等。目前就遇到了这种情况,需要在系统中查询第三方提供的soap web service接口,也就是说要将它整合进现有的系统当中。Spring整合CXF本来十分简单,但是因为使用...转载 2018-07-01 21:07:02 · 350 阅读 · 0 评论