自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为了20K

干干干!!!!

  • 博客(49)
  • 收藏
  • 关注

原创 springmvc数据回显以及 rusetful风格接收参数

1 数据回显:在方法中传递一个参数 model参数,使用这个对象的add。。。方法添加数据到域中,相当于在request中添加数据。然后前台去便利数据。@RequestMapping("tolist") public String tolist(Model model){ List<User> userList = new ArrayList<User>()...

2017-07-27 11:39:41 471 1

原创 springmvv 获取前台传递的参数

第一种方式,例如我的form表单,有一个input标签,例如 input name = password那么在我的controller中,定义的方法传递一个string类型的参数,例如public String login (String password){}  这样,我们后台就可以接受到前台的参数 第二种方式:使用pojo的方式进行接收参数,例如我的user对象中定义了 na...

2017-07-26 21:27:53 163

原创 springmvc执行流程分析

 1 首先用户发起请求,被我们的拦截器拦截,拦截之后,返回的是一个Chain拦截器连,对我们的模型类进行封装 2 前端控制器再起请求,请求处理器适配器,处理器适配器调用controller里面的方法,调用方法之后返回 modelAndView,返回给前端控制器。  3前端控制器把modelAndView传递给试图解析器,试图解析器传递给view页面  4view试图再次传递前端控制器...

2017-07-25 00:03:16 180

原创 开发技巧使用BaseDao进行复用编程

  在我们以前的开发中,我们在写Dao层的时候,我们都是先声明一个接口,然后写一个具体的实现类,在声明的这个接口中,通常就是我们定义的一些CRUD的一些操作,在写业务逻辑的时候,我们发现最后CRUD的操作基本会有冗余,于是,我们开发BaseDao接口和它的实现类BaseDaoImpl。  下面看我的BaseDao的接口代码 public interface BaseDao<T...

2017-06-12 09:19:30 176

原创 spring aop 再次学习(jdk+cglib+AspectJ)

学习aop,我们需要先学习一些专业术语1.target:目标类,需要被代理的类。例如:UserService2.Joinpoint(连接点):所谓连接点是指那些可能被拦截到的方法。例如:所有的方法3.PointCut 切入点:已经被增强的连接点。例如:addUser()4.advice 通知/增强,增强代码。例如:after、before5. Weaving(织入):是指把增强advice...

2017-06-06 10:13:10 278

原创 使用spring进行注解开发

使用spring进行注解开发,我们首先需要在spring的配置文件中,添加扫描。也就是扫描包中,那个类有注解。<context:component-scan base-package=" "> 包就是你想要扫描的那个包。  1. @Component取代<bean class="">    @Component("id") 取代 <bean id=""

2017-06-05 16:26:24 69

原创 Hibernate的三种状态

Transient瞬时态:特点:持久化对象没有唯一标识OID.没有纳入Session的管理.Persistent持久态:特点:持久化对象有唯一标识OID.已经纳入到Session的管理.***** 结论:持久化持久态对象有自动更新数据库的能力.Detached脱管态:特点:持久化对象有唯一标识OID,没有纳入到Session管理.瞬时态:获得:Book book = new Book();瞬时--...

2017-05-19 12:53:04 71

原创 Hibernate的主键生成策略

尽量要Hibernate自己去维护主键:* 主键的生成策略:* increment    :自动增长.适合 short int long...不是使用数据库的自动增长机制.使用Hibernate框架提供的自动增长方式.* select max(id) from 表; 在最大值的基础上+1.(多线程的问题.)在集群下不要使用* identity        :自动增长.适合 short int l...

2017-05-19 11:27:58 70

原创 Hibernate(load方法和get方法区别)

 get 和load的区别:* 1.发送SQL的时机:* load这个方法采用了一个技术.lazy延迟加载(懒加载).真正使用这个对象的数据的时候.(对象的数据不包括主键).* get这个方法是立即检索.当执行session.get()方法的时候,马上发送SQL语句查询.* 2.返回的对象:* load方法返回的是代理对象.* get方法返回的是真实的对象.(如果之前对象使用load方法查询过,那...

2017-05-19 09:43:26 71

原创 struts2 valueStack 解析(源码解读)

1 什么是valueStack  我们首先看一下struts2核心过滤器的源码。  我们查看deFilter方法,我们跟进execute.executeAction(request, response, mapping); 再次跟进直到Dispatcher类中    讲解一下上面的源码,我们重点查看蓝色选中的代码,我们就是首先在request里面取出值栈对象,我们可以查看一下上面...

2017-05-18 15:52:27 142

原创 struts2 文件的上传和下载

1 使用struts2进行文件的上传和下载十分的简单,不是再像jsp和servlet中那么麻烦。  现在说一下,如果以后我们在工作中,遇到一些组件我们不会开发,我们可以通过这种方式进行开发。  我们打开这个拦截器 fileUpload,然后我们查看这个拦截器的源码,然后我们打开javaDoc这个view,  收先我们需要在浏览器端进行一些设置,也就是在jsp页面进行一些设置。  ...

2017-05-16 09:57:07 98

原创 struts2 拦截器的实现机制

1 我们都知道strus2中的拦截器是struts2 的一个核心。  想看struts2的拦截机制,我们首先要看strus2的入口,也就是在web.xml中配置的过滤器。  首先说一下这个ActionMapping这个类,这个类的作用就是存储了action的信息,和执行流程的ActionFoward信息。所以在配置了action中信息之后,mapping的信息肯定不能为空,然后我们查看...

2017-05-15 16:57:50 129

原创 struts2 封装请求参数(四种)

1  直接在Action中,注入javaBean的属性,然后在action中给属性添加相应的set方法,当然,要求jsp表单input的name属性的名称和action中属性的名称相同,个人感觉这样接收参数十分乱,这样接收参数没有使用面向对象的思维去进行开发,而且action越来越像javaBean。2  为了解决我上面十分混乱的模式,struts2 还给我们提供了另一种解决方案,就是这次我...

2017-05-13 12:02:32 147

原创 文件的上传和下载(jsp+servlet)

1 导入jar包 2 文件上传  <form action="uploadServlet" method="post" encType="multipart/form-data"> <input type="file" name="f"><br> <inpu

2017-05-09 20:40:34 85

原创 使用过滤器实现编码全局处理(fillter)

 public class EncodingFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, Serv...

2017-05-08 17:42:56 181

原创 使用request.getparamater

 http://localhost:8080/webDemo1/TestServlet?aaa=2&bbb=1,通过请求,我们可以获得相应的请求参数。注意,这个set集合的key是sting类型的,但是value是String类型的数组。public void doGet(HttpServletRequest request, HttpServletResponse respons...

2017-05-08 17:14:31 672

原创 丢失更新的解决方案(乐观锁+悲观锁)

   丢失更新: 当两个事物或多个事务都更新了同一条数据,但是这些事务彼此之间都不知道其他事务进行的修改,因此第二个更改覆盖了第一次的更改,说白了,就是事务A还没有提交之后,但是这个时候事务B更新了数据,那么事务A就丢失更新了。  解决方案: 乐观锁+悲观锁    悲观锁: 数据库的一种锁机制,悲观锁分成两种,分别是共享锁和排它锁    添加共享锁方式:select * from ...

2017-05-07 19:10:50 1126

原创 mysql的事务

1 事务的4个特性 (必回,面试必考)      ① 原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。      ② 一致性: 事务前后数据的完整性必须保持一致      ③ 隔离性: 事务的隔离性是指多个用户并发访问数据库时,一个用户的事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离。      ④ 持久性:持久性是指一个事...

2017-05-06 22:04:53 57

原创 mysql 数据库基础知识整理

   首先将一下,如果你的mysql密码忘记了,那么通过下面的方式进行重置密码 1.停止mysql服务: services.msc 进入到服务界面 2.在cmd>输入一个命令: mysqld --skip-grant-tables (开启一个mysql服务,不需要进行认证.) 3.新打开一个cmd窗口 mysql ...

2017-05-03 17:25:11 163

原创 自定义标签

1  创建没有标签体的标签  1  首先创建一个jva类,去继承SimpleTagSupport,下面我们说一下SimpleTagSupport 中的方法的作用            * void setJspContext(JspContext pc)  这个方法中的参数就是pageContext的父类,这个方法是由服务器最先被调用的,然后我们得到我们的PageContext对象,也就...

2017-05-02 17:32:56 64

原创 jsp+servlet day2 (三大指令)

1  jsp页面的三大指令   ① pege指令 (重点)        常用的        pageEncoding和contentType,其中 pageEncoding 是设置jsp页面的编码,给服务器看,然后服务器编译成正确的编码,contentType 和 response.setContentType的方法相同, 它的作用 1 就是完成相应字符流的编码,2 设置响应头,(其实设置了这...

2017-04-30 17:13:27 76

原创 jsp+servlet day1 (文件编码+文件下载)

1  通过servlet保证不乱码    ① 首先设置response 字符缓冲区的编码  response.setCharacterEncoding("UTF-8");     ② 然后设置浏览器打开文件的编码,也就是设置响应头  response.setHeader("Content-Type", "text/html;charset=UTF-8")      要求两个编码...

2017-04-27 15:27:16 91

原创 冒泡排序+选择排序

public class Demo1 { public static void main(String[] args) { int[] array = {23,5,2,53,44}; selectSort(array); } //这个方法是冒泡排序 public static void sort(int []a){ int temp = 0; ...

2017-04-26 15:39:53 73

原创 快速排序

    非原创博客,原创地址:http://www.iteye.com/topic/1116214 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接...

2017-04-26 15:27:45 59

原创 插入排序

 public class Demo3 { private int[]array; public void sort(){ int length = array.length; if(length>0){ for(int i=1;i<length;i++){ int temp = array[i]; int j = ...

2017-04-26 15:09:35 75

原创 简单工厂和抽象工厂的Demo

  通过下面的factory可以很好的理解工厂设计模式

2017-04-23 09:49:42 66

原创 TCP 和 UDP

 udp: 面向无连接。 不可靠。 速度快。 将数据封包传输,数据包最大64k。 举例: 聊天留言,在线视频,视频会议,发短信,邮局包裹。 tcp: 面向连接。 安全可靠 效率稍低。 通过三次握手确保连接的建立。 举例: 下载,打电话,QQ聊天(你在线吗,在线,就回应下,就开始聊天了)...

2017-04-20 18:15:55 118

原创 TCP 发送与接收

/* * TCP协议发送数据: * A:创建发送端的Socket对象 * 这一步如果成功,就说明连接已经建立成功了。 * B:获取输出流,写数据 * C:释放资源 * * 连接被拒绝。TCP协议一定要先看服务器。 * java.net.ConnectException: Connection refused: connect */public cla...

2017-04-20 18:08:12 214

原创 使用udp进行数据的发送和接收

public class SendDemo { public static void main(String[] args) throws IOException { // 创建发送端Socket对象 DatagramSocket datagramSocket = new DatagramSocket(); // 创建数据,并把数据打包 byte[] ...

2017-04-20 16:31:55 865

原创 多线程常见面试题

1:多线程有几种实现方案,分别是哪几种?    两种。        继承Thread类    实现Runnable接口        扩展一种:实现Callable接口。这个得和线程池结合。2:同步有几种方式,分别是什么?    两种。        同步代码块    同步方法(根据方法不同,锁也不同,静态用本类的.class充当锁,非静态用this)3:启动一个线程是run()还是start(...

2017-04-19 12:04:58 66

原创 多线程3

1 多线程的三种加锁方式  /* * A:同步代码块的锁对象是谁呢? *         任意对象。 *  * B:同步方法的格式及锁对象问题?  private synchronized void sellTicket() { if (tickets > 0) { try { Thread.sleep(100); } catch (Int...

2017-04-19 10:08:37 67

原创 多线程2

1 多线程的两种方式   ① 创建一个类,继承Thread,重写run方法,   public class MyThread extends Thread { @Override public void run() { for(int i=0;i <=200;i++){ System.out.println(i+getName()); }...

2017-04-17 21:27:13 58

原创 多线程1

 1 Java程序运行原理java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。所以 main方法运行在主线程中。在此之前的所有程序都是单线程的。  2 jvm 是多线程的  JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。  3 线程中断  首先我...

2017-04-17 14:22:58 63

原创 面试总结3

面试题1 :  final,finally,finalize的区别?final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。  面试题2 : :如果在cat...

2017-04-14 17:43:18 51

原创 map集合的遍历方式

Map<String,String> hm = new HashMap<String,String>();                        hm.put("it002","hello");            hm.put("it003","world");            hm.put("it001","java&quo

2017-04-14 15:32:06 54

TreeSet 和 HashSet如何实现添加无重复对象(源码分析)

  首先,我们来对比的说一下set集合和list集合,list集合就好比女生的衣柜,女生的衣柜都非常的整齐,因为女生大多爱好购物,一般衣柜里面有几件相同的衣服,所以list集合的特点就是有序,可以包含重复的元素,有序就是按顺序输出,下面我们来说一下set集合,set集合就好比是一篮鸡蛋,你想呀,一篮子鸡蛋,肯定没有两个相同的鸡蛋,而且,由于鸡蛋的形态,所以,这些鸡蛋都不是很整齐的排放,所以,s...

2017-04-13 21:20:35 101

原创 泛型限定

 public class Demo7 { public static void main(String[] args) { Demo6<String> dd = new Demo6<String>(); dd.Show("aaa"); List<? extends person> list = new ArrayList<bo...

2017-04-12 20:05:36 75

原创 面试总结2

面试题· 4  object 中的一些方法   具体方法讲解讲解每个方法的时候,查看源码。public int hashCode()    A:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。    B:不同对象的,hashCode()一般来说不会相同。      但是,同一个对象的hashCode()值肯定相同。    C:不是对象的实际地址值,可以理解为逻辑地址值。   ...

2017-04-12 16:55:46 76

原创 面试总结1

面试题1:          ==和equals()的区别?            A:==                基本类型:比较的是值是否相同                引用类型:比较的是地址值是否相同            B:equals()                只能比较引用类型。默认情况下,比较的是地址值是否相同。                但是,我们可以...

2017-04-12 16:11:26 47

原创 mybaits 一对多,一对一查询

原地址:http://blog.csdn.net/evankaka一、创建表、分析下面是两表,一个是顾客表,一个是车票表。一个顾客可以对应多张车票,但是一张车票只能对应一个顾客 t_customer:顾客表,一个顾客可以对应多张车票t_ticket:车票表,一张车票只能对应一个顾客1、创建数据表及插入初始数据创建数据表[sql] view plain c...

2017-04-11 10:32:11 103

空空如也

空空如也

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

TA关注的人

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