自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 资源 (5)
  • 收藏
  • 关注

原创 架构记录

开始架构遇到的技术:1 用span标签,id设置为aavar obj=document.getElementById("aa");obj.innerText=src;//ok 只是文本obj.innerHTML=src;//ok//document.write(src);//ok2 通过struts2的text标签,可以将后台的值显示在前台(网页能识别类似于js的i

2018-01-30 09:14:54 163

原创 基于spring注解的webService

=======================服务端:=======================1 基于spring注解的WebService。首先需要引用相关的jar:commons-logging-1.1.1.jarcxf-2.4.3.jarneethi-3.0.1.jarspring-aop-3.0.5.RELEASE.jarspring-asm-3.0.

2018-01-30 09:13:19 1480 1

原创 额外补充:基于spring注解的webService

=======================服务端:=======================1 基于spring注解的WebService。首先需要引用相关的jar(是额外补充的。之前的文档是‘基于spring注解的webService.txt’):commons-logging-1.1.1.jarcxf-2.4.3.jar--去除,改为cxf-2.7.6.jarn

2018-01-30 09:12:48 1154 1

原创 System之nanoTime函数

1 System有一个静态的函数nanoTime函数,该函数是返回纳秒的。1毫秒=1纳秒*1000*1000如:long time1=System.nanoTime();2 System的nanoTime函数式返回纳秒,但是该函数只能用于计算时间差,不能用于计算距离现在的时间。因为是纳秒太小了。如:long time1=System.nanoTime();for(int i

2018-01-30 09:12:23 20803

原创 System.arraycopy函数

1 System有一个静态的函数用于基础数组的复制功能。System.arraycopy(源数组,源数组的起始下标,目的数组,目的数据的起始下标,复制的长度)如:public void test1(){int[] aaa=new int[]{1,2,3,4,5,6,7,8,89};int[] bbb=new int[aaa.length];//不能为nullSystem.array

2018-01-30 09:12:04 1398

原创 struts2之在jsp中使用静态方法

1 struts2允许在jsp中使用静态方法。首先是要struts.xml中进行配置,让其满足jsp能访问静态方法。如:2 在jsp中如果能访问静态方法。这是可以通过struts2的ognl表达式来访问静态方法。格式为如:格式为3 在某个标签的value属性中也能使用来得到值如:" onclick="btn_query_onclick()"/>i

2018-01-30 09:11:42 1317

原创 struts2之type=”chain“

1 在struts2.xml中,result可以通过不同的name名称来跳转到不同的jsp页面去。但是同时也容许设置,跳转到别的action中去。需要进行配置。在result标签中设置type="chain"。这表示是一个动作链。会跳转到另一个action中去。如:                -->            /login.jsp            /ind

2018-01-30 09:11:21 1273

原创 struts2之OGNL

1 OGNL为struts2的表达式。是可以在网页上使用的表达式。有#、%等用法。#表示ActionContext.getContext(),访问非根对象。#的用法。可以通过#request.bean.xxxx。表示action对象中的bean属性(必须有get和set方法)的xxx属性。在页面上通过s:property标签来展现出来。如:前台:a:后台:/

2018-01-30 09:11:01 215

原创 struts2之iterator标签之双重循环

1 struts标签中有一个循环的标签,iterator标签。iterator双重循环也可以使用。iterator中的var属性表示集合中的元素单元。如:                说明:iterator标签的value属性表示集合值。      var表示集合中的元素单元,可以理解为在循环体中定义了一个变量。在循环时将集合元素中的每个单元元

2018-01-30 09:10:41 1202

原创 struts2之action接收参数方法(get_set方法)

1 struts2的action接收参数可以通过set和get方法。首先将属性添加set和get方法。然后struts2会通过反射(有set和get方法)自动对属性进行实例化。达到java中的new一个对象的目的。2 有两种情况下,struts2会自动反射进行实例化。第一种是在配置文件中对属性进行配置。如:        /jsp/exa

2018-01-30 09:10:13 2506

原创 struts2源码解读

1 struts2源码解读,会经过FilterDispather-》ActionMapper-》ActionProxy-》ActionInvocation-》Action2 首先通过请求的url,经过核心过滤器FilterDispatcher,判断是否能调用某个Action。通过ActionMapper来判断。3 如果ActionMapper判断可以调用某个Action,会

2018-01-29 09:09:13 182

原创 struts2简单的工作原理记录

1 struts2的工作原理:三步:第一步:通过FilterDispatch 来过滤action(得到request后,通过ActionMapper来判断是否继续往下执行,找到了相对应的action则继续往下执行,如果在ActionMapper中没有找到相对应的action则直接返回)第二部:通过ActionProxy来得到action和result(不仅仅读取action和res

2018-01-29 09:08:22 116

原创 struts2返回json

1 struts2返回json有两种方式。第一种是通过response的printWriter的write方法。第二种是通过struts2的json技术。2 struts2的返回json技术。需要满足下面几个条件:a:前台页面通过ajax请求,请求路径为action的路径。如:common/jquery/jquery-easyui-1.3.2/themes/icon.css">

2018-01-29 09:07:59 525

原创 struts2标签之select标签

1 struts2中的select标签为下拉列表标签。该标签的list属性可以写死也可以从后台得到。如:解释:name属性为标签的name值,list属性为该标签的列表。上述是写死:list="#{0:'男',1:'女'}",key为整形,value为字符型listKey属性为该list属性中的keylistValue属性为该list属性中的valueheade

2018-01-29 09:07:39 1246

原创 spring源码解读

1 spring源码解读有IOC、DI、AOP、JDBC、WebMVC、鉴权和授权IOC:控制反转。将配置文件中的bean读取并注册到IOC容器中(就是保存到IOC的map中,以后得到bean就从map中得到)。将其创建类对象的过程交给spring来完成。故叫控制反转DI:依赖注入,配置文件中一些bean有property。需要引用到别的bean对象。这是依赖注入就是将其引

2018-01-29 09:06:38 221

原创 spring事务

1 spring中有事务管理,本次记录的是通过事务注解的方式进行事务管理的。事务注解可以简便的配置在任意想要的方法上面。2 使用spring事务注解方式进行事务管理。首选需要在配置文件中开启注解方式、配置transactionManager、配置事务注解方式的事务。最后在类或方法中进行事务的注解。如:a 首先需要在xml文件中加入:xmlns:xsi="http://w

2018-01-29 09:06:03 145

原创 spring简单的工作原理记录

1 spring的核心内容是:IOC顾名思义:控制反转。spring的工作原理:将以前只能通过代码(new)实例化的工作在spring中完成,然后将各个类的依赖关系也通过依赖注入来完成(为bean所设置的属性赋值)。spring的工作:第一步:实例化spring配置文件中的bean。第二部:实例化之后,将各个bean所设置的属性(property 标签设置的)对其进行赋

2018-01-29 09:05:20 151

原创 Random之nextInt函数

1 java中有一个类用于生成随机数字的:Random。该类的nextInt(int n)函数表示随机生成0~n之间的整数。如:int b=new Random().nextInt(100);//0~参数之间,包括0,不包括参数本身System.out.println(b);2 Random的nextInt(int n)生成的随机整数范围是0到n之间,不包括n。所以以后如果想要

2018-01-29 09:04:58 20705 2

原创 mysql中行转列

1 mysql中可以行转列。通过group_concat()函数。如:select group_concat(name) from resources group by type将name列的值转化为一行,2 默认是之间用逗号隔开,还可以自定义符号来作为隔开。如使用;来隔开。如:select group_concat(name separator ';') fr

2018-01-29 09:04:28 17428 2

原创 mybatis源码解读

1 mybatis是3.0的版本。ibatis是3.0以下的版本。mybatis有几个主要的类:SQLSessionFactoryBuilder、SQLSessionFactory、SQLSession、Executor、MapperRegister首先系统通过SqlSessionFactoryBuilder来读取mybatis的配置文件(系统配置文件、sql语句的mapp

2018-01-29 09:04:03 203

原创 js之toString方法

1 js中也有toString方法。该方法是从Object基类继承下来的。当alert或document.write方法时,参数为类对象的参数。这时会自动调用类对象的转化为字符串的toString方法。如果没有重写则往上查找直至找到。可以通过prototype类添加。如:function classA(){this.name="";this.value="";this.getNam

2018-01-26 09:24:30 3373

原创 js之elements用法

1 js中有elements的用法,该用法是用于form表单内部的,其余的地方不能使用,否则会报错。如:                           js:var id=document.form1.elements["bean.user_id"];//不会报错var password=document.form1.elements["bea

2018-01-26 09:24:06 9408 1

原创 js之dtree

1 dtree是一款开源的树形的js。用于输出树形菜单。主要是这两个文件:dtree.js和dtree.css2 现在jsp中引入css和js。如:css/dtree.css"/>js/dtree.js">这里注意:dtree的所需的img的文件,都在WebRoot下建立一个img文件夹。然后将dtree的图片文件都放在这里。因为系统会默认调用WebRoot下的im

2018-01-26 09:23:44 1961

原创 java之自定义日志类

1 java有日志功能。log4j。需要将log4j.properties放在src下。正常的java日志:log4j.rootLogger=info,CONSOLE//根日志的级别,以及输出方式log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Threshold=info

2018-01-26 09:23:23 6115

原创 java之接口实例化

1 接口无法进行实例化。不过接口可以通过匿名接口来操作。直接实现一个接口。但是是匿名的如:public interface Test1Interface {public int aa=1;public void run();}public class Test1 {private Test1Interface test1Interface=null;

2018-01-26 09:23:02 20919

原创 java之将数据库数据读取到内存中

1 为了将配置信息或数据库的信息读取到内存中。可以程序启动时,启动一个servlet。在web.xml中进行配置其0 表示优先级为最大,这样就在程序启动时去加载servlet类。然后程序自动调用该servlet类的init方法如:  initServlet  com.servlet.InitServlet  0 2 创建一个初始化加载的servlet时。需要在该se

2018-01-26 09:22:26 12708 1

原创 java之多线程

1 java中支持多线程。有两种线程是实现方法。Thread类 和Runnable接口。第一种是继承Thread类 如:public class Thread1 extends Thread{public Thread1() {super();// TODO Auto-generated constructor stub}@Overridepublic void

2018-01-26 09:22:03 108

原创 java之toString方法

1 java自带的有toString方法。不过一些时候会隐士的调用类对象的toString方法。当通过System.out.println()时,参数为类对象。这时就会调用类对象的toString方法。你可以重载toString方法。可以在toString方法中返回自己想要的结果。!!!!可以说:如果方法的参数需要为字符串时,而参数是类对象时会自动调用类对象的toString方法转化为字符串。

2018-01-26 09:21:44 7546

原创 java之PropertyUtils

1 java中如果不知道bean的类型或者不知道bean中的方法或属性时,无法给其赋值。但是java中有一个类可以在不知道bean的情况下也可以给其bean进行赋值和取值。那就是PropertyUtils类。该类可以对bean的属性(bean中要有属性的get和set方法)进行设值和取值。设值通过:PropertyUtils.setProperty(Object bean,String shu

2018-01-26 09:21:22 10079

原创 java之InetAddress

1 InetAddress是java网络的类。通过该类通过得到ip地址和主机名一些信息。2 通过InetAddress的静态方法getLocalHost()方法能得到本机的InetAddress对象。得到本机的InetAddress对象后就能够得到本机的ip地址和主机名。如:InetAddress inetAddress=InetAddress.getLocalHost();//得

2018-01-26 09:21:01 693

原创 java之ftp

1 ftp服务器需要先下载ftp服务器,2 然后安装完ftp服务器后,创建域(会有设置服务器的ip等)3 创完域后,创建用户(会有账号、密码、设置根目录、权限)4 可以通过浏览器访问:http://服务器ip 5 在浏览器中输入ftp路径后,出现登陆界面,输入账号和密码。点击登陆java后台操作:6 连接ftp服务器。

2018-01-25 09:20:54 389

原创 java线程池之newSingleThreadExecutor函数

1 java有线程池,线程池分几种:单一的线程池、固定大小的线程池、不固定大小的线程池。如:Executors.newSingleThreadExecutor();//单一的线程池Executors.newFixThreadPool(int n);//固定大小的线程池Executors.newCacheThreadPool();//不固定大小的线程池。2 java线

2018-01-25 09:20:29 12080

原创 java多线程之优先级

1 java多线程中有优先级。优先级范围在1~10。值越大优先级越高。一般理解为:优先级高的获得cpu的几率更大些。只是几率更大些。其余没别的什么。设置优先级通过setPriority方法。如:Thread1 t1=new Thread1();t1.setName("thread1");//设置线程名称t1.setPriority(6);//设置线程优先级t1.start();

2018-01-25 09:19:30 404

原创 java多线程之PipedOutputStream和PipedInputStream

1 多线程之间如果想要通讯,可以通过管道流来实现,例如两个子线程之间想要互通数据,可以通过管道流(PipedOutputStream和PipedInputStream)来实现数据互通,PipedOutputStream负责write,PipedInputStream负责read。同时将PipedOutputStream和PipedInputStream进行连接。如:public class T

2018-01-25 09:19:10 854

原创 java多线程之LinkedBlockingQueue

1 LinkedBlockingQueue是一个基于链表的线程安全的阻塞队列。构造函数中可以设置队列的容量,如果没有设置则默认为整形的最大值。如:LinkedBlockingQueue linkedBlockingQueue=new LinkedBlockingQueue(1000);//设置队列的容量为10002 LinkedBlockingQueue是一个线程安全的阻塞队列。是

2018-01-25 09:18:48 796

原创 java多线程之join

1 java多线程中有一个方法join方法。该方法可以理解为:加入,加入到当前主线程中,作为当前主线程的一个普通方法,方法执行完毕后,当前主线程才能继续往下执行。意思:就是等待join方法的子线程执行完毕后,当前主线程才能继续往下执行。如:public class Thread1 extends Thread{@Overridepublic void run() {//

2018-01-24 09:06:58 116

原创 java多线程之CountDownLatch

1  java多线程中有一个同步计数器:CountDownLatch。可用于多线程的一个同步的计数器。主要的用法函数:构造函数、countDown()、await()。同步计数器的作用:当在主线程中需要等待别的多个子线程完成之后当前主线程才能继续往下执行时,不然一直等待多个子线程执行完毕。这时就可以使用同步计数器(CountDownLatch)。2 CountDownLatch

2018-01-24 09:06:46 159

原创 java多线程run和start方法的区别

1 java中多线程有两个常见的方法start方法和run方法。正常来说run方法是多线程的线程体。2 创建线程,可以使用extends Thread和implements Runnable如:public class Thread1 extends Thread{@Overridepublic void run() {// TODO Auto-gene

2018-01-24 09:05:36 19641 3

原创 java并发之synchronizedMap

1 java并发中有一个map就是Collections.synchronizedMap(不是绝对的线程安全),它是将map的每个方法都加了同步(都加了虚拟锁机制)如:private Map map=Collections.synchronizedMap(new HashMap());2 虽然Collections.synchronizedMap是线程安全的map(不是绝对的)。也

2018-01-24 09:05:19 4203 1

原创 java 并发

1 java锁有类锁(通过类名来访问的static方法),对象锁(针对非static方法),方法锁(针对非static方法)类锁(示例1):public class Test{    public static void execute(){        synchronized(TestThread.class){            ...;       

2018-01-24 09:04:56 108

centos6安装mysql5.7.22

centos6安装mysql5.7.22,步骤很详细。可以直接按照步骤来进行安装。

2019-07-10

okhttp3进行http的post调用

okhttp3进行http的post调用,代码比较详细。还有错误说明。

2019-07-10

okhttp3进行https的post调用

okhttp3进行https的post调用。代码比较详细,也有错误说明。

2019-07-10

websocket心跳

websocket心跳,包括心跳代码、前台代码、后台代码

2019-07-10

sql_按照某一个字段进行去重后获取全部字段

sql语句:按照某一个字段进行去重后获取全部字段。

2019-07-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除