- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人