- 博客(43)
- 收藏
- 关注
原创 struts2 搭建环境 配置 示例
Struts2 是一个基于MVC设计模式的Web应用框架它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。下载http://struts.apache.org/download.cgi#struts209配置导入Struts2所需jar包解压下载的压缩包 在apps文件夹下有个struts2-blank.war包 将里
2018-04-12 21:53:14
192
原创 JSP基础及el表达式和JSTL表达式
什么是JSP?全称 Java Server Page 中文名 JAVA服务器页面由Sun Microsystems公司倡导 许多公司参与一起建立的一种动态网页技术标准JSP 原理访问jsp页面时 jsp页面会被翻译成.java文件 然后 .java会被编译成 .class文件(字节码文件) 在网页中显示当前时间<%@ page import="java.util.Date"%><
2018-04-02 21:44:54
186
原创 HttpSession
HttpSession 服务端技术HttpSession原理当用户端第一次访问Servlet时 服务端会给该用户创建 一个独立Session 并且生成一个SessionID 这个SessionID在响应浏览器的时候 会被装进cookie中 从而被保存到浏览器中 当用户再一次访问 Servlet的时候 请求中会携带着 cookie中的 SessionID 去访问 服务器会根据这个Sessi
2018-03-29 21:49:07
248
原创 获取表单信息以及会话技术
获取表单数据public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应编码格式 response.setContentType("text/html;charset=UTF-8"); // 告
2018-03-28 21:45:33
216
原创 Tomcat之Servlet设置及请求
Servlet 设置及请求获取配置信息public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取config对象 ServletConfig config = this.getServle
2018-03-27 20:12:11
283
原创 JavaWeb 之 Tomcat
TomcatTomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。学习JavaWeb开发一般都使用Tomcat服务器,
2018-03-26 21:35:28
655
原创 数据库的Apache第三方jar包以及数据库连接池
commmons-dbutils-1.6.jar操作 JDBC 连接数据库,并且执行 sql 语句,处理返回的结果集三个核心类DbUtils: 关闭资源的方法(安静的关闭 不需要异常处理)QueryRunner: 执行sql语句 并且返回结果集ResultSetHandler: 接口(使用它的实现类 传入使用结果集类的接口)// 插入数据 private static void insert()
2018-03-24 11:53:47
704
原创 数据库之JDBC
JDBCJDBC(Java Database Connectivity)Java 数据库连接规范(一套接口)由 Sun 公司提供的JDBC 核心类DriverManager 创建连接Connection 连接类Statement 执行 sql 语句ResultSet 结果集JDBC连接步骤1.注册驱动2.获取链接 connection3.获取 sql 语句的执行
2018-03-22 21:41:22
192
原创 数据库之MySQL 查询与约束
查询排序 order by asc(默认 升序) desc(降序)SELECT 列名 FROM 表名 order by 列名 asc(升序) | desc(降序);过滤空值 SELECT IFNULL(字段名,0) FROM 表名聚合函数 sum avg max min count聚合函数是用来做纵向运算的函数:COUNT():统计指定列不为NULL的记录行数;MAX():计算指定列的
2018-03-20 21:44:32
338
原创 数据库之MySQL基础
数据库什么是数据库以及作用?数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库.什么是数据库管理系统?使用和维护数据库的软件,保证数据库的安全性和完整性,用户通过该系统范文数据库中的数据.数据库的种类?数据库通常分为层次式数据库、网络式数据库和关系式数据库三种,并且不同的数据库是按不同的数据结构来联系和组织的.而在当今的互联网中,最常见的数据库模型主要是两种
2018-03-19 21:39:56
225
原创 JSON与JS请求和JQ请求
JSON 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。// JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,// 键/值对组合中的键名
2018-03-17 18:11:35
1063
原创 JavaScript 基础
JS基础语法<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <!-- 1.JS 的引入 --> <!-- 内部引入 --> <script type="text
2018-03-17 18:11:16
230
原创 HTML 基础
HTML全称: HyperText Markup Language中文名: 超文本标记语言标记标记分两种: 单标记 双标记标记的特点: 要闭合 大小写不敏感 有属性单标记语法: <标记名 属性名="属性值"/>双标记语法: <前标记名 属性名="属性值"></后标记名>html模板1: 版本控制2: html文档区域3: 文档包含头部(head)和身体(body)4: 头部包含编码格式(
2018-03-17 18:10:57
221
原创 Java 多线程的线程中断
标记 停止线程class StopRunnable implements Runnable{ public boolean isOver = false; @Override public void run() { // 利用死循环方法是测试能不能停止线程 while (!Thread.currentThread().isInterrupted(
2018-02-07 21:51:18
208
原创 Java多线程以及锁
线程创建一个线程 相当于cpu开辟了独立的运行执行路径每个执行路径都是独立空间创建一个线程 该线程就会有一个独立栈空间如果在同一个栈空间 不符合 先入栈的后出栈的规则线程的六种状态:新建状态(new 线程对象)运行状态(调用start方法)受阻塞状态(等待cpu的执行资源)休眠状态(调用sleep(时间)方法)等待状态(调用wait方法)死亡
2018-02-06 21:46:12
256
原创 Commons-io jar包中的方法 功能流 以及 线程基础
Commons-io 获取路径 扩展名.txt .png static String getExtension(String filename) 获取文件的名字 static String getName(String filename) 判断是不是这个扩展名 static boolean isExtension(String filename,String extensio
2018-02-05 21:44:00
1245
原创 Java I/O流之打印流 以及 装饰者模式
打印流PrintStream构造方法:PrintStream(File file) 接收文件PrintStream(OutputStream out) 字节输出流PrintStream(String fileName) 文件路径PrintWriter构造方法:PrintWriter(File file) 接收文件PrintWriter(OutputStream out) 字节输出流PrintWrit
2018-02-04 23:21:04
299
原创 Java IO流之使用缓冲流读写及序列化
缓冲流使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来。缓冲输出字符流BufferedWriter // 写入时使用 .newLine(); 达到换行目的 此方法可以跨平台实现 public static void write() throws IOException { FileWrite
2018-02-01 21:35:38
316
原创 Java 字符流
字符流 单字节读取 只能用来操作文本Writer (所有输出流的父类)FileWriter 构造方法(绑定写入的路径): 文件 字符串 mac系统下 一个字 3个字节 UTF-8 windows 一个字 俩字节 GBK 简体中文 FileWriter fw = new FileWriter("文件路径"); fw.wr
2018-01-31 21:49:22
216
原创 Java 文件过滤器 字节流
文件过滤器 // 编写自定义类实现过滤器接口class MyFileFilter implements FileFilter{ // 按照规则 来过滤文件 // 过滤文件时 就看这个方法返回值 // 返回false 就被过滤 // 返回true 保留 @Override public boolean accept(File pathname) {
2018-01-30 22:20:05
415
原创 Java IO流 File类
File类1. 可以操作文件2. 可以操作文件夹 3. 可以操作文件的路径 // File 的静态成员变量 // 不同平台下 获取的路径分隔符不同 // mac系统下 路径分隔符:(冒号) // win 系统下 路径分隔符 ; (分号) String pathseparator = File.pathSeparator
2018-01-29 22:02:47
161
原创 Java的异常处理
异常处理Throwable 异常处理类的顶端类Error (服务器崩溃 数据库崩溃)Exception (异常类) : RuntimeException(运行时异常) // 角标越界 int[] num = new int[1]; System.out.println(num[2]); //ArrayI
2018-01-26 21:56:34
190
原创 Java Map接口
Map 接口 1. 以键值对形式保存数据 key --- value 2. 键保持唯一HashSet和HashMap之间的关系底层都是使用哈希算法HashSet底层依赖HashMap来实现 Map的添加方法 HashMap<String, Integer> map = new HashMap<>(); Integer i1 = map.put("张三",
2018-01-25 22:05:17
298
原创 Java中的Set
Set <接口>HashSet特点 : 无序 无下标 不重复 /** * set添加字符串 */ public static void fun1() { // 使用HashSet 主要用来 去重 // 创建一个HashSet HashSet<String> set = new HashSet<>();
2018-01-23 22:02:40
404
原创 Java 泛型
泛型表示集合中 保存的数据的类型泛型类泛型类声明是 尖括号的字母 可以随便定义泛型类的类型 在初始化这个类的对象 确定public class Worker<W> { // 利用泛型写成员变量 private W w; // 利用泛型写set/get方法 public W getW() { return this.w; } public v
2018-01-22 21:47:28
207
原创 Java List接口的ArrayList和LinkedList的区别
List 接口ArrayList 和 LinkedList 区别ArrayList : 数组实现数组实现 特点 : 查询快 增删慢(参照与LinkedList)查询 : 直接使用角标查询增删 : 需要把要添加的元素的位置 后面的元素 全部移动一位LinkedList : 链表实现链表实现 特点 : 查询慢 增删快(参照与ArrayList)查询 : 判断离头进还是尾近 然后从头或尾 一个一个查找 找
2018-01-19 21:38:41
239
原创 Java 集合与迭代器
集合数组弊端:1.只添加相同类型的元素(基本数据类型 和 引用数据类型 都能保存)2. 长度一旦确定 就不能改变 要添加超出 数组长度个数的元素 操作比较复杂集合的由来 因为数组操作数据的弊端 用来代替数组集合特点 :1. 能添加不同类型的元素注意 : 集合中 只能添加 引用数据类型 (只能添加对象类型)2. 长度可变集合
2018-01-18 20:41:14
181
原创 Java之StringBuffer的使用
StringBufferStringBuffer(字符串缓冲区)JDK 1.5 的 StringBuilder(线程不安全 省资源)StringBuffer 的特点 :1. StringBuffer 相当于 是一个 可变的序列(操作的是原字符串)2. 是线程安全 (耗费资源) /** * 无参创建StringBuffer */ public static void
2018-01-17 21:53:41
403
原创 Java系统类之字符串类
字符串类 String字符串是个常量(不可更改) 常量字符串对字符串进行操作 都返回是一个新的字符串(原字符串不能更改) public static void fun3() { String string = "www.baidu.com"; // 包含 boolean b1 = string.contains("baidu"); Sy
2018-01-16 21:49:44
214
原创 Java中的接口
Java中的接口接口狭义的定义:关键字 : interfaceinterface 接口名{}广义的定义:接口相当于定义了一个规则要想使用这个接口 就必须遵循这个规则public class Demo{ public static void main(String[] args) { // 使用实现类(多态方法使用) InterA interA = new I
2018-01-15 20:06:24
208
原创 Java 抽象类
Java的抽象abstract 关键字修饰类 — 抽象类修饰方法 — 抽象方法修饰变量 — 没有抽象变量抽象类(abstract class 类名)1.成员变量 变量 和 常量2.成员方法可以是抽象方法 并且 抽象方法不能写实现部分可以有非抽象方法3.构造方法: 有构造方法4.如何创建对象注意 :1.抽象类 不能实例化 对象(不能创建对象)2.抽象类中 可以没有抽象方法3.有抽象方法
2018-01-12 22:03:56
212
原创 Java 多态
Java的多态多态规则(前提): 一种事物的多种形态1. 类与类之间 要产生联系 继承关系2. 要有方法的重写(没有方法的重写 多态的意义不大)3. 核心: 父类引用(指针)指向子类空间(声明方式)public static void main(String[] args) { // 本类的引用 指向本类对象的空间 // Cat cat = new Cat();
2018-01-11 22:43:34
153
原创 Java 类的继承
类的继承继承的特点1.减少你的代码量2.让类与类之间 产生关联(产生 父子的关系)继承使用关键字: extends注意:1. 继承时 可以把多个类中 相同的功能或方法 抽取出来重新构造一个类出来 把这些类 建立继承关系2.建立继承关系的同时 一定要符合逻辑(切记不要为继承而继承)继承的写法class 子类 extend 父类{}举例/* * 猫类 * 姓名 颜色 种类 会睡觉 会抓老鼠 *
2018-01-10 21:34:22
236
原创 Java 代码块的分类
代码块代码块分类1.局部代码块: 限制变量作用域(生命周期)书写位置: 在方法中2.构造代码块:(开发中 很少使用)书写位置: 在类中 方法外调用时机:如果你有构造代码块 系统帮你调用帮你在创建对象之前调用 每次创建对象都会调用3.静态代码块(一定是被static修饰的)静态代码块 依赖类 随着类加载而加载注意: 只加载一次(只调用一次 不管你创建多少对象)应用场景:U盘 装载驱动程序加载驱动(数据
2018-01-10 21:04:45
475
原创 Java之静态变量和静态方法
静态变量 和 静态方法(使用static修饰)静态变量 保存在 方法区的静态区(共享区)静态变量 是共享的区间静态变量 是如何调用 ?1.可以使用对象来调用2.推荐 使用类名来调用为什么静态变量 要使用类名去调用 ?只要加载了.class文件 就加载了静态变量 这时还没有对象产生静态变量(属于类 也叫类变量) 和 非静态变量(属于对象 对象变量) 的区别1.调用方式不同静态变量: 对象或类名去调用(
2018-01-09 21:59:09
9454
原创 Java基础之构造方法
构造方法构造方法:初始化成员变量的注意:1.构造方法 没有返回值 甚至不写返回的类型2.构造方法的方法名 与类名相同3.如果你没写无参的构造方法系统会给你提供一个无参的构造方法4.如果我只写 有参 的构造方法这时 系统就不再给你提供无参的构造方法5.写类的时候 建议 无参有参构造方法全写关键字 构造方法名(){}定义类 书写顺序成员变量 -> 无参 有参 构造方法 -> set/get方法->..
2018-01-09 21:34:07
255
原创 Java基础之类与对象
类什么是类 ?类是对一类事物的抽象描述如何写一个类 ?使用class修饰类里都有什么 ?属性: 属性一般都使用 名词来修饰行为: 行为一般用 动词来修饰类中写的成员变量(实例变量) 写在 类中 方法外成员方法(实例方法) 写在 类中
2018-01-08 21:25:33
201
原创 Java 二维数组和多维数组
Java 二维数组和多维数组二维数组是一个容器 保存 相同数据类型的 一维数组书写公式: 数据类型 [] [] 数组名 = 初值;如何描述下面定义的二维数组 int[][] array = new int [3][4];该二维数组中有3个一维数组 每一个一维数组中有4个元素打印二维数组的长度 相当于打印数组中有多少个元素 System.o
2018-01-05 21:43:44
400
原创 Java数组
JAVA 数组数组:是一个容器 保存的是数据 保存相同数据类型的数据数组定义数据类型 [] 数组名 = 初值;其中数据类型代表: 数组中盛放数据的 数据类型举例: 声明一个整型数据 声明了长度为5的 整数数组 int[] array = new int[5];注意: 数组的长度一旦给
2018-01-04 21:25:55
216
原创 Java 基础函数
JAVA 基础函数函数函数是指封装了特定功能的代码块函数的好处: 方便使用 减少你重复代码书写函数的写法: 关键字 返回值类型 函数名(参数类型 参数1,参数类型 参数2,...) { 函数中的语句1; 语句2...... // return 后面返回的 返回值 要跟函数的返回值类型 对应 retu
2018-01-02 20:01:15
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人