- 博客(41)
- 收藏
- 关注
原创 Hibernate开发(二)
提取出Session工具类:package com.util;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration; /* * 一个项目只能用一个SessionFactory对象 */public ...
2018-12-03 23:53:50 99
原创 Hibernate开发(一)
ORM:Object Relational Mapping (对象关系映射)将java中的对象和关系数据库中的表建立一种映射(实现操作对象就可以操作数据中的表)Hibernate:Hibernate是一个持久层的ORM框架Hibernate环境搭建:首先要导入Hibernate所需要的jar包,mysql驱动,log4j日志的3个jar包 在mysql中创建表如:customer ...
2018-12-03 16:32:51 120
原创 自动登录的实现
LoginServlet的实现: package com.web.servlet;import com.bean.User;import com.dao.UserDao;import com.dao.impl.UserDaoImpl;import org.apache.commons.beanutils.BeanUtils;import javax.servlet.Servle...
2018-12-01 16:37:48 307
原创 java.util.Date和java.sql.Date之间的转化
public static void main(String[] args) { try { //给定字符串,转化为java.util.Date类型, Date date=new SimpleDateFormat("yyyy-MM-dd").parse("2018-11-23"); //获取当前...
2018-11-23 21:39:22 333
原创 java实现DBUtils
需要用到,连接mysql的数据库驱动,c3p0jar包,DBUtils的jar包 public static void testDBUtils(){ try { ComboPooledDataSource dataSource = new ComboPooledDataSource(); QueryRunner que...
2018-11-21 11:27:26 122
转载 事务,数据库连接池和DBUtils
#事务&数据库连接池&DBUtils##事务> Transaction 其实指的一组操作,里面包含许多个单一的逻辑。只要有一个逻辑没有执行成功,那么都算失败。 所有的数据都回归到最初的状态(回滚)* 为什么要有事务?> 为了确保逻辑的成功。 例子: 银行的转账。 ###使用命令行方式演示事务。* 开启事务 start transact...
2018-11-21 11:25:31 112
原创 IDEA中c3p0的配置和使用
c3p0只是帮助我们实现在连接池中获取到连接,并不会优化我们的CRUD代码首先要配置环境:导入jdbcjar包,导入c3p0包(注意是java工程还是javaWeb工程)不适用配置文件的方式:ublic static void test2C3p0(){ Connection conn = null; PreparedStatement ps = nul...
2018-11-21 10:28:04 2910 1
原创 Servlet实现Web工程的登录
数据库方面:连接数据库的准备:导入mysql-jar包到工程目录下 导入mysql-jar包到web工程lib目录下(为了让tomcat识别)或者先将jar包导入工程目录下,然后File--->Project Structure--->Artifacts,窗口右半边就是整个工程下包,web使用到哪个jar就讲哪个添加到web的lib下(实用)连接数据库的代码:...
2018-11-20 09:58:40 328
原创 Cookie和Session
Cookie:Cookie:饼干,其实就是一份小数据,是服务器给客户端,并且存储在客户端上的一份小数据 应用场景:自动登录,浏览记录。 为什么有Cookie:http的请求是无状态的,客户端与服务器在通讯的时候,是无状态的,就是客户端在二次访问的时候,服务器根本不知道这个客户端之前有没有访问过,未了更好的交互,用户体验,收集用户习惯。 Cookie的使用: 响应Cookie(发送或添加...
2018-11-17 23:43:39 78
原创 请求转发与重定向
重定向: //重定向写法,登录成功直接跳转指定界面 response.sendRedirect("login_success.html");地址上显示的是最后那个资源的路径地址:如:http://localhost:8080/test_servlet02/login_success.html 请求次数最少有两次,服务器在第一次请求后,会返回...
2018-11-17 17:40:38 121
原创 java实现Servlet的中文乱码处理
HttpServletRequest:这个对象封装了客户端提交过来的一切数据客户端提交数据给服务端(这里指的是在网页输入内容提交servlet处理时,在servlet控制台的输出乱码),如果数据中带有乱码,可参照如下方法解决:如果是GET请求(若无乱码则无需修改) String name=request.getParameter("username"); String ...
2018-11-17 11:00:25 469
原创 Servlet实现登录
html客户端输入数据:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Login</title></head><body>
2018-11-16 23:27:56 163
原创 ServletContext
ServletContext:servlet 上下文每个web工程都只有一个ServletConte对象,不管在哪个servlet里,获取到的都是同一个servletcontext作用:可以获取全局配置参数 <context-param> <param-name>studentName</param-name> ...
2018-11-16 22:46:25 112
原创 servlet
生命周期方法:对象从创建到销毁一定会执行的方法(doGet和doPost方法不算生命周期方法),servlet中有以下几个 init方法:在创建该servlet的实例时,就执行该方法 一个servlet只会初始化一次,init方法只会执行一次 默认情况是:初次访问该Servlet,才会创建实例 实现服务器就在初始化servlet <load-on-startup>...
2018-11-15 18:04:30 92
原创 GET和POST请求
GET请求和POST请求的区别POST请求:数据是以流的方式写过去,不会再地址栏上显示。现在一般提交数据到服务器使用的都是POST 以流的方式写数据,所以数据没有大小限制GET请求:会在地址栏后面拼接数据,所以有安全隐患。一般从服务端获取数据,客户端也不用提交上面数据的时候,可以使用GET 能够带的数据有限,1kb大小Web资源:在http协议中,规定了请求和相应双方,客户...
2018-11-14 22:05:04 98
原创 实现客户端写入字符串,在服务端翻转后返回(多线程)
实现客户端写入字符串,在服务端翻转后返回服务端:package network.tcp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket...
2018-11-14 14:49:07 747
原创 TCP传输
服务端: /* * 创建ServerSocket服务器,需要指定端口号 * 调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket * 调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流 * 输入流可以读取客户端输出流写出的数据 * 输...
2018-11-13 17:14:10 119
原创 UDP传输(三)
package network.socket2;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;public class DemoMoreThre...
2018-11-13 16:28:59 145
原创 UDP传输(二)
键盘输入:传送package network.socket;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;public class DemoSend { public static vo...
2018-11-13 16:18:29 141
原创 UDP传输(一)
发送方: package network.socket;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress; /* * 1. 发送send * 创建DatagramSocket ...
2018-11-13 16:04:35 821
原创 线程的五种状态
线程池:package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class MyExecutor { public static void main(String[] args) { Execu...
2018-11-13 15:11:59 149
原创 线程组
package com.runtime;public class DemoThreadGroup { public static void main(String[] args) { MyRunnable m=new MyRunnable(); ThreadGroup tGroup=new ThreadGroup("new group"); ...
2018-11-13 11:40:02 66
原创 实现线程间的通信(二)
非静态的同步方法的锁对象:this静态的同步方法的锁对象是:该类的字节码对象this.notify():唤醒单个等待的线程this.notifyAll():唤醒所有等待的线程/* * 1.在同步代码块中,用哪个对象锁,就用那个对象调用wait方法 * 2.为什么wait方法和notify方法可以定义在Object这类中 * 因为锁对象是...
2018-11-13 11:25:04 72
原创 实现线程间的通信(一)
notify()和wait()实现:this.notify():随机唤醒单个等待线程。this.wait():当前线程等待,wait()若无人唤醒,则一直等待;而Thread.sleep是睡眠一定时间后再次启动。 public class DemoNotify { public static void main(String[] args) { f...
2018-11-13 10:18:08 114
原创 单例设计模式的应用场景Runtime、Timer
(下面代码所需要的包都是java.util下的)import java.util.Date;import java.util.Timer;import java.util.TimerTask;Runtime:获取运行时对象 public static void main(String[] args) { //获取运行时对象 Runtime...
2018-11-13 09:43:33 164
原创 单例模式的饿汉式、懒汉式
单例设计模式:保证在内存中只有一个对象饿汉式: /* * 饿汉式: */class MySingleton{ //1. 构造方法私有化,其他类不能访问该构造(创建该对象) private MySingleton(){}; //2. 创建本类对象,成员变量被私有,对外提供公共的获取方法 private static MySing...
2018-11-13 00:06:13 71
原创 多线程的命名
public static void main(String[] args) { //通过构造方法给线程起名字 new Thread("first线程"){ public void run(){ System.out.println(this.getName()+" 第一个"); ...
2018-11-12 21:19:20 435
原创 创建多线程的两种方法
创建线程的方法:一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。 public class MyThread extends Thread{ @Override public void run() { super.run(); //继承T...
2018-11-12 21:01:39 132
原创 多线程,并发,并行
多线程的引入 什么是线程: 线程是程序执行的一条路径,一个进程中可以包含多条线程 多线程并发可以提高程序效率,同时完成多项工作 并发和并行的区别 并行就是两个任务同时运行(需要多核CPU) 并发就是两个任务都请求运行,而处理器只能接受一个任务,就把两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行(单个CPU) 如我和两个网友聊天,左手操作一个电脑和...
2018-11-12 15:54:46 157
原创 InputStream和OutputStream
字节输入流和字节输出流: /* * 字节输入流和字节输出流可以操作任何文件 但是是以字节读取文件 * read()读取的是一个字节,为什么返回int,而不是byte * * 因为读到中间可能遇到11111111(8个1),这11111111表示byte类型的-1,就不会读取后面的数据了, * ...
2018-11-11 23:22:26 94
原创 File文件操作
判断目录下是否包含所给文件 @Test public void fileDemo(){ File dir=new File("D:\\");// //获取D盘下所有文件名称// String str[]=dir.list(); //给file加过滤器, String str[]=dir.list(...
2018-11-11 13:20:21 157
原创 Collection和Map
Collection List(存取有序,有索引,可以重复) ArrayList LinkedList Vector Set(存取无序,无索引,不可以重复) HashSet(开发时较多,效率较高) 底层是哈希算法实现 LinkedHashSet 底层是链表实现,但也可以保证元素唯一,和HashSet原理一样 TreeSe...
2018-11-10 23:28:43 66
转载 单列集合Collection和双列集合 Map实现扑克牌游戏
@Test public void pokerGame(){ String[] num={"3","4","5","6","7","8","9","10","J","Q","K","A","2"}; S
2018-11-10 22:38:31 6128
原创 HashMap
判断输入字符串中字符与出现次数 //判断输入字符串中字符与出现次数 @Test public void check(){ String str="aasssddddd"; char[] chars=str.toCharArray(); HashMap<Character,Integer> hashMap=ne...
2018-11-10 21:11:45 142
原创 LinkedHashSet简单实例
创建随机数,且不能重复,用Set集合 //创建随机数,且不能重复,用Set集合 @Test public void getNumber(){ Random random=new Random(); HashSet<Integer> hashSet=new HashSet<>(); while (ha...
2018-11-10 20:59:41 266
原创 HashMap介绍
@Test public void add(){ Map<String,Integer> map=new HashMap<>(); map.put("张三",21); map.put("李四",23); map.put("王五",24); map.put("赵六",20);
2018-11-10 20:57:24 89
原创 HashSet
Set集合,无索引,不可以重复,无序(存取不一致)set集合的add()方法若加入的元素已存在,则返回false, HashSet的继承体系中有重写toString方法。 遍历用增强for循环去遍历:(所有用迭代器遍历的都可以用增强for循环遍历) public static void main(String[] strings){ HashSet<Stri...
2018-11-10 16:31:55 1877
原创 去除重复ArrayList中的元素或对象
去除ArrayList的重复元素(如String): public static ArrayList getSingle(ArrayList arrayList) { ArrayList newList=new ArrayList(); //创建新集合 Iterator iterator=arrayList.iterator()...
2018-10-30 23:22:21 433
原创 集合Collection
数组与集合:数组的长度是固定的;存储的是基本数据类型; 而集合可以随着元素的增变化而变化;存储的是引用数据类型(也可以存储基本数据类型,底层实现了装箱操作); Collection:单列集合的根接口;其中两个重要的子接口List和Set方法有add();(添加元素)remove();(删除元素)clear(); (清空集合)contains();(是否包含);isEmpty();(...
2018-10-30 16:37:36 121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人