java
wenshao007
重新发vsfvsd
展开
-
(jsp)JSTL标签库(核心标签库,格式化标签库)
1.JSTL的核心标签库在standard包下的MATA-INF的c.tld里注册,c.tld代表coreset标签:c:removec:catch将标签体里发生的异常,赋给ex对象c:coutcout中的default用法![在这里插入图片描述![](https://img-blog.csdnimg.cn/20200410211851771.png)c:if的用法...原创 2020-04-11 13:14:46 · 241 阅读 · 0 评论 -
(jsp)自定义标签
自定义标签的目的是简化java代码,一个自定义标签对应着一段Java代码如下例子,希望通过自定义标签获取到客户端的IP流程1.首先有对应的自定义标签的接口SimpleTag,它的实现类SimpleTagSupport,我们自定义的类就继承与SimpleTagSupport类,然后在自定义类的doTag()方法里敲写自己想要的功能代码流程2.定义这样获取客户端的自定义标签类如下package...原创 2020-04-10 20:28:26 · 134 阅读 · 0 评论 -
(JSP)EL表达式
EL表达式是一种在jsp页面静态部分获取数据的简单方式动态部分为(jsp中的java代码块,jsp动作)静态部分为(jsp中的html部分)注意:EL获取的数据,只能从四大域里面获取数据获取,放进域里的代码才能够获取示例代码如下:<% String username = "wenhao"; pageContext.setAttribute("user", username);...原创 2020-04-09 11:09:40 · 220 阅读 · 0 评论 -
(jsp)JSP基础概念
1.jsp是什么?2.jsp的实现流程:在访问第一次jsp后,服务器会把jsp翻译成.java文件再编程.class文件,然后再执行。jsp文件的样式如下3.jsp文件的样式,对应它翻译之后文件的样式如下对比jsp文件样式Java文件样式jsp也属于servlet的一种通过翻译之后的jsp的Java文件,可以看到jsp也是Servlet文件的一种JSP规范JSP里面的jav...原创 2020-04-06 11:00:38 · 313 阅读 · 0 评论 -
(servlet)Session
通过request来获取和创建session:request下的方法:getSesion():如果当前request存在session,则获取session.如果不存在则创建sessionrequest下的方法:getSesion(boolean true):如果当前request存在session,则获取session.如果不存在则返回空,不会创建新的session使用session的域...原创 2020-04-02 20:01:52 · 221 阅读 · 0 评论 -
(servlet)Cookie
cookie是一种缓存技术不同的浏览器保存和查看cookie的方式是不同的对关于cookie的创建,随着会话会传给浏览器public class LoginServlet extends HttpServlet { private int counter; protected void doGet(HttpServletRequest request, HttpServl...原创 2020-03-30 21:59:20 · 139 阅读 · 0 评论 -
(Servlet)线程安全问题
当满足以下两个条件时,则会出现线程安全问题1.存在多线程并发访问2.存在可修改的共享数据当多个线程同时修改同一个共享数据时,后修改的数据会将先修改的数据覆盖,对数据先进行修改的用户读取到的不是自己修改后的数据,这就是线程安全问题servlet中可能出现线程安全问题对于浏览器访问同一servlet程序的时候,会出现线程不安全的问题,因为会出现不同用户(浏览器)修改同一servlet下的内...原创 2020-03-30 16:15:30 · 167 阅读 · 0 评论 -
(servlet)路径问题
资源路径 和 资源名称以访问栏信息最后一个斜杠为标准,前面的是资源路径后面的为资源名称对于url和uri都是一样的例:以下是一个url路径http://localhost:8080/14-requestDispatcherForward/loginServlet以下是一个uri路径/oo/xx/jj/index.html绝对路径和相对路径web应用的绝对路径就是url绝对路径...原创 2020-03-30 14:37:20 · 324 阅读 · 0 评论 -
(Setvlet)请求转发与重定向
介绍请求转发与重定向通过HttpServletRequest获取到的Request对象的forward()方法,可以完成请求转发功能而通过HttpServletResponse的sendRedirect()方法,可以完成重定向功能请求转发与重定向完成的是什么功能?是完成资源之间跳转的两种不同方式通过老师举的办事处的例子,请求转发:服务器内跳转重定向:服务器外跳转请求转发的代码为:...原创 2020-03-29 14:43:12 · 490 阅读 · 0 评论 -
(Servlet)解决一些中文乱码问题(包括Request和response的)+Response
中文乱码问题在表单中填写中文时,提交到服务器显示会产生乱码浏览器提交至服务器的中文都是以字节的方式进行提交的,中文会被转换为字节再提交产生乱码的原因:页面是以UTF-8进行的提交,而tomcat服务器是以ISO-8859-1进行解码,所以会出现乱码注意1:tomcat9解决了GET提交时候的中文乱码问题,但是其他的服务器以及POST提交没有解决解决:使用setCharacterEncod...原创 2020-03-28 18:07:01 · 251 阅读 · 0 评论 -
(Servlet)servlet核心(GenericServlet,HttpServlet,Request(请求))
GenericServlet:是一个实现了Servlet接口的抽象类,目的是对于使开发人员不用再敲出不用实现的方法具体实现步骤如下这属于缺省适配器设计模式一个类实现一个接口的大多数方法,但是留一些方法不实现定义为抽象方法,留给子类实现先定义一个GenericServlet抽象类public abstract class GenericServlet implements Servlet...原创 2020-03-28 09:40:28 · 256 阅读 · 0 评论 -
(Servlet)servlet生命周期
宏观地讲,Servlet是连接web服务器与服务端java程序的协议,是一种通信规范。这个规范是以一套接口的形式实现的1.servlet声明周期所谓servlet生命周期是指servlet对象的创建,servlet对象的初始化,servlet对象服务的执行,及最终servlet对象销毁的整个过程(1).首先建立servlet的映射关系在WebContent文件夹下,配置web.xml文件的...原创 2020-03-27 09:43:04 · 178 阅读 · 0 评论 -
JDBC(测试用例)+prepareStatement
提供一个入口,输入用户名和密码 ,Java程序连接数据库,验证用户名和密码是否合法。合法登陆,不合法返回信息准备工作:1.建立相应的数据表PowerDesigner建模工具,来建立相应的表PD工具...原创 2020-03-24 10:04:35 · 331 阅读 · 0 评论 -
JDBC
JDBC是什么?1、Java DataBase Connectivity(java语言连接数据库)2、JDBC的本质是什么?JDBC是SUN公司制定的一套接口(interface)java.sql.*;(这个软件包下有很多接口)接口都有调用者和实现者面向接口调用,面向接口实现类,这都属于面向接口编程为什么要面向接口编程?解耦合:降低程序的耦合度,提高程序的扩展力多态机制就是非常...原创 2020-03-22 18:25:41 · 83 阅读 · 0 评论 -
(java多线程)线程的同步(加锁)+Timer定时器
t1和t2两个线程异步编程模型:t1线程执行t1的,t2执行t2的,同步编程模型:t1线程和t2线程执行,当t1线程必须等t2线程执行结束之后,t1线程才能执行,这是同步编程模型什么时候要同步,为什么要引入线程同步呢?1.为了数据的安全。可以不考虑效率,因为同步机制加入后,效果等同同单线程的2.什么条件下要使用线程同步?第一:必须是多线程环境第二:多线程环境共享同一个数据第三:共享...原创 2020-03-13 16:09:05 · 1332 阅读 · 0 评论 -
(java多线程)线程的调度和控制(sleep +yield+线程合并join)
获取当前线程Thread下的静态方法static Thread currentThread(); 获取当前的线程成员方法:void setName(String s); //更改当前线程的名字String getName(); //获取线程的名字public class Test { public static void main(String[] args) { Thre...原创 2020-03-12 14:24:09 · 183 阅读 · 0 评论 -
(java多线程)基本概念+创建线程+线程的生命周期
1.什么是进程?一个进程对应一个应用程序.:在windows操作系统启动Word就表示启动一个进程。在java的开发环境下启动JVM,就表示启动了一个进程。现代的计算机都是支持多进程的,在同一个操作系统中,可以启动多个进程2.多进程的作用?单进程计算机只能做一件事。玩游戏,一边玩游戏(游戏进程),一般听音乐(音乐进程)对于单核计算机来讲,在同一个时间点上,游戏进程和音乐进程是同时在运行...原创 2020-03-11 18:13:09 · 163 阅读 · 0 评论 -
(java流与文件)装饰者模式+DataInputStream DataoutputStream +printStream
装饰者模式是对已有的类型进行扩展作用:对一个进行扩展升级,扩展是在原代码执行的基础之上加一些扩展代码要求:装饰者模式要求:装饰者和被装饰应该实现同一个类型1.需求:想要将一个类里面的方法进行扩展升级,结合之前的知识会让这个类成为另外一个类的父类,即使用继承,在子类中区重写此方法,但是这样形成了继承关系,耦合度太高。所以引入了装饰者模式package test;//1.装饰者模式中要求:...原创 2020-03-07 13:49:12 · 246 阅读 · 0 评论 -
(javaio流与文件)Buffer (带缓冲区的)input output writer reader +(键盘输入)
BufferedInputStream;BufferedOutputStream;BufferedWriter;带缓冲区的字符输入流BufferedReader;带缓存区的字符输出流java.io.Readerjava.io.BufferedReader构造方法(summary filed):BufferedReader(reader in);所以在使用BufferedReader之...原创 2020-03-07 09:39:33 · 286 阅读 · 0 评论 -
(java io流与文件) FileReader FileWriter
java.io.Reader;java.io.FileStreamReadr; 转换流(字节输入流—>字符输入流 )java.io.FileReader;文件字符输入流注意:字节流读,因为一次只能读一个字节,用不好的话可能刚好读到一个中文字符的一半,会显示乱码,而字符流最小单位是两个字节,所以不会出现这种问题import java.io.*;public class FileRe...原创 2020-03-06 18:12:26 · 202 阅读 · 0 评论 -
(javaio流与文件)InputStream OutputStream
java.io.InputStream;java.io.FileInputStream;文件字节输入流以下程序的缺点是,一次只读一个字节,并且效率低,还需要频繁访问磁盘按照字节方式读取文件 import java.io.*;public class FileInputStreamTest { public static void main(String[] args) { Fil...原创 2020-03-06 17:10:43 · 155 阅读 · 0 评论 -
(javaIO流与文件)---继承关系
字节流适合读取:视频,声音,图片等二进制文件字符流适合读取:纯文本文件(word文档不是纯文本,因为里面会含有格式等)java语言中所有的字节流都以Stream结尾。所有的字符流都含有Reader和Writer以内存为中心,看读和写,输入和输出需要掌握的16个流Stream 字节流Writer/Rreader 字符流java.io.*;FileInputStreamFi...原创 2020-03-06 11:12:19 · 534 阅读 · 0 评论 -
(java)Map+collections工具类
HashMap中的key要重写hashcode 和 equalsSortedMap和TreeMap中的Key要实现comparable接口,或者单独创建比较器comparator以上两点都是Set集合里总结出来的以下是Map中的一些常用方法:void clear() 清楚map操作。boolean containsKey(Object key) 判断map中...原创 2020-03-05 15:01:40 · 194 阅读 · 0 评论 -
(java)Set (哈希表)+(HashSet SortedSet)
HashSet的底层实际上是一个HashMap,而HashMap的数据结构为哈希表/散列表所以先讲解什么是哈希表/散列表?哈希表是:数组和单向链表的结合哈希表本质是一个数组,只不过这数组中每个元素又是单向链表...原创 2020-03-04 21:52:55 · 297 阅读 · 0 评论 -
(java)Collection
Collection下所有的方法以及使用Collection集合只能单个存储元素,并且只能存储引用类型1.boolean add(Object element); 向集合中添加元素2. int size();获取集合中元素的个数3.void clear();清空集合4.boolean isEmpty();判断及合中是否有元素5.Object[] toArrary();将集合转换Obj...原创 2020-03-03 10:30:36 · 109 阅读 · 0 评论 -
(java)集合(collection +Map+单双链表)介绍
Collection只能单个存储,而且只能存储引用类型 !在这里插入图片描述以上是Collection部分Map部分原创 2020-03-02 11:58:12 · 139 阅读 · 0 评论 -
(java)数字类+枚举类型
关于数字格式化:java.text.DecimalFormat;类比日期类中的格式化类,java.text.SimpleDateFormat数字格式元素: # 任意数字 , 千分位 . 小数点 0 不够补0public class Test{ public static void main(String[] args){ //1.创建数字格式化对象 //需求:加入千分位...原创 2020-03-01 11:58:29 · 3325 阅读 · 0 评论 -
(java)日期类型
1.java.lang包下得System类 下得static long currentTimeMillis() Returns the current time in milliseconds.方法计算从1970-1-1到现在得毫秒数2.获取系统当前时间java.util下面的Date类,这个需要导包impot java.util.Datepublic class Test{ ...原创 2020-02-29 11:34:37 · 187 阅读 · 0 评论 -
(java)包装类型+整型常量池(Integer中使用)
java中八种基本数据类型对应的包装类型基本数据类型 包装类型byte java.lang.Byteshort java.lang.Shortint java.lang.Integerlong java.lang.Long float java.lang.Floatdouble java.lang.Doubleboolean java.lang....原创 2020-02-28 16:49:53 · 465 阅读 · 0 评论 -
(java)StringBuffer和StringBuilder
java.lang.StringBufferjava.lang.StringBuilder1.StringBuffer和StringBuilder是什么? 是一个字符串缓冲区2.工作原理 预先内存中申请一块空间,以容纳字符序列 如果预留的空间不够用,则进行自动扩容,以容纳更多字符序列。3.StringBuffer,StringBuilder和String最大的区别 String是...原创 2020-02-27 12:32:28 · 94 阅读 · 0 评论 -
(常用类_String类)
String对象是不可变得1.字符串一旦创建便不可再改变。“abc”字符串对象一旦创建,不可再改变为其他的如"abcd"。public class Test{ public static void main(String[] args){ //创建一个“abc”对象,该对象内存地址,让s1变量保存 //s1是一个引用,s1指向"abc"对象. String s1 = "abc";...原创 2020-02-27 10:24:01 · 124 阅读 · 0 评论 -
java冒泡排序
冒泡排序算法:数组:3 1 6 2 5首先冒泡排序,是相邻两个元素之间进行比较,这是区别于选择排序和二分法排序的地方其次分析冒泡排序的次数,主要目的是把数字最大的移动到最左端,左右相比数值大的移动到右端第一次循环1 3 6 2 51 3 6 2 51 3 2 6 51 3 2 5 6第二次循环1 3 2 51 2 3 51 2 3 5第三次循环1 2 31 2 3第...原创 2020-02-24 21:25:42 · 89 阅读 · 0 评论 -
java使用数组模拟栈(内容丰富)
将前面的所学的,自定义异常,异常处理,多态,等都有使用到1.显示自己写的代码(1).Stack代码package stack;//栈:后进先出public class Stack { //使用数组存储数据 //栈可以说存储多个引用类型的元素 Try[] elements; int i=0; //栈默认的初始化容量是5 //Constructor Stack(){...原创 2020-02-24 16:18:13 · 245 阅读 · 0 评论 -
数组array(基础,加args讲解)
https://blog.csdn.net/wenshao007/article/details/103592633基础的定义方法在上面链接数组:1.是一种引用类型,不是基本数据类型2.数组是一种简单的数据结构,线性的结构。3.数组是一个容器,可以用来存储其他元素数组是可以存储任意的数据类型的元素4.数组分为:一维数组,二维数组,三维数组,多维数组Object o1 = new ...原创 2020-02-22 17:02:51 · 742 阅读 · 0 评论 -
java面向对象(类的继承)
关于java语言中的继承:1.继承是面向对象三大特这之一,三大特征分别是:封装、继承、封装2.继承基本的作用:代码复用。继承的作用是:有了继承之后才会有以后“方法的覆盖”和“多态机制”。3.继承语法格式:【修饰符列表】 class 类名 extends 父类名{类体 = 属性 + 方法}4.java语言中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类。C++中支持多继承...原创 2020-02-22 12:37:58 · 306 阅读 · 0 评论 -
多态在开发中实际的应用
多态在实际开发中的应用1、分析:以主人喂养宠物这个场景要实现需要进行类型的抽象:主人【类】 主人可以喂养宠物,所以主人有喂养的这个动作宠物【类】宠物可以吃东西,所以宠物有吃东西这个动作2、面向对象编程的核心:定义好类,然后将类实例化为对象,给一个环境驱使一下,让哥个对象之间写作起来形成一个系统3.多态的作用是什么?/*宠物猫类*/public class Cat{ public...原创 2020-02-22 12:37:42 · 2052 阅读 · 0 评论 -
多态基础语法
关于java语言中的多态语法机制: 1.Animl,Cat,Bird 三个类之间的关系:Cat继承AnimalBird继承AnimalCat和Bird之间没有任何继承关系2.面向对象三大特征:封装,继承,多态3.关于多态中涉及到的几个概念向上转型( upcasting)-子类型转换成为父类型又称为:自动类型转换向下转型(downcasting)-父类型转换为子类型又称为:强...原创 2020-02-22 12:36:51 · 331 阅读 · 0 评论 -
java(对象和引用,参数传递)
1.引用引用可以是成局部变量变量,也可以时实例变量(比如在丈夫类和妻子类,两个互相存放对方的类,时候有用到)class Student{ Computer com; //com是一个引用【实例变量】 public static void dosome() { Computer cc;//cc是一个引用【局部变量】}}2.参数传递?主要研究和学习方法在传递时,数据是如何传递的...原创 2020-02-22 12:37:05 · 323 阅读 · 0 评论 -
JAVA 初学
1.java中定义浮点类型数据,默认为double型。例:flaot af= 3.14;af 默认为double 型float af = 3.14f;或者flaot af = (float)3.14;将af转为float型2.if后的代码块只有一行语句时,可以省略花括号,因为单行语句本身就是一个整体例子:int a = 5;if(a > 4) System.out....原创 2020-02-22 12:36:34 · 92 阅读 · 0 评论 -
异常机制(自定义异常)(方法重写与异常)
自定义"无效名字异常".1.编译时异常,直接Exception2.运行时异常,直接继承RuntimeException自定义异常与手动抛出异常自定义一个异常:字符长度不够public class IllegalNameException extends Exception{ //自定义异常写法大致固定如下,两个构造函数 //一个有参的一个无参的,将字符串通过super往上传 pu...原创 2020-02-22 11:59:29 · 1032 阅读 · 0 评论