自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java 敏感词过滤(DFA有穷自动机)

敏感词匹配

2022-10-24 15:33:44 547 1

原创 HttpServletRequest请求对象和HttpServletResponse响应对象

HttpServletRequest请求对象:HttpServletRequest对象代表客户端的请求。当客户端通过HTTP协议访问服务器时,HTTP请求中的所有信息都封装在这个对象中,通过这个对象提供的方法可以获取请求的所有信息。常用方法描述getContextPath()获取应用上下文路径getRequestURL()获取客户端发出请求时的完整urlgetRequestURI()获取请求行中的资源名部分getQueryString()获取请求行中的

2021-01-31 14:47:47 564

原创 Javaweb作用域对象ServletContext

作用域对象:作用域就是对象的生命周期,在Javaweb中有多个不同生命周期的对象,比如PageContext(当前页面)、ServletRequest(当前请求)、HttpSession(当前会话)、ServletContext(当前应用)等。对象里包含属性和对应的数据,所以不同作用域对象的使用场景不同。ServletContext:代表servlet环境的上下文,相当于全局储存空间。在同一个web程序中,所有的servlet和jsp都可以共享,是最大的作用域对象。在服务器启动时创建,关闭时.

2021-01-29 20:47:05 229

原创 请求转发forward和请求重定向sendRedirect

请求转发:把浏览器的请求在项目内部进行转发,不论转发多少次,浏览器只用发起一次请求,且浏览器URL不会改变。request.getRequestDispatcher("index.jsp").forward(request,response);请求重定向:服务器收到浏览器请求后响应一个新地址,不局限于项目内部(外部地址需要写完整,https://baidu.com),浏览器对新地址发起新的请求,浏览器的URL会变为最后一次重定向的地址。response.sendRedirect("index.j

2021-01-16 20:36:01 183

原创 jsp和servlet的关系

jsp本身就是一种servlet,在第一次被访问时会被编译为HttpJspPage类,是HttpServlet的一个子类。jsp就是在HTML里写Java代码。servlet就是在Java里面写HTML代码。

2021-01-14 22:22:45 450

原创 Servlet的xml配置和注解@WebServlet配置

旧版本的Servlet在web.xml文件中配置,内容如下:<servlet> <servlet-name>UserServlet</servlet-name> <servlet-class>net.tjk.web.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name

2021-01-14 17:21:13 1017

原创 Servlet生命周期

Servlet接口中有五个方法,包括两个普通方法和三个生命周期方法:public interface Servlet {//初始化方法 void init(ServletConfig var1) throws ServletException; ServletConfig getServletConfig();//服务方法 void service(ServletRequest var1, ServletResponse var2) throws ServletExcept

2021-01-09 15:53:15 85

原创 HTTP和HTTPS的区别

HTTP(Hyper Text Transfer Protocol 超文本传输协议)是建立咋TCP协议上的一种协议,最显著的特点是每次客户端发送的请求都需要服务器回应,从建立连接到关闭连接称为一次链接。HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer 基于安全套接字层的超文本传输协议)主要有两部分组成:HTTP+SSL/TLS。HTTPHTTPS安全性数据明文传输,不加密,容易被窃取修改传输数据使用 SSL/

2021-01-09 15:00:09 94

原创 HTTP的9种请求方法和常见响应状态码

HTTP的9种请求方法HTTP1.0定义了三种:GET、POST、HEAD。GET:用于获取资源,比如查询。POST:用于提交数据,比如登录注册。HEAD:和GET类似,但是服务器返回的响应没有具体内容,用于获取报头。HTTP1.1定义了六种:PUT、PATCH、DELETE、OPTIONS、CONNECT、TRACE。PUT:用于更新请求,比如更新个人信息。PATCH:PUT的补充,更新指定资源的部分数据。DELETE:用于删除指定资源。OPTIONS:测试服务器性能,是否联通。

2021-01-01 21:23:48 673

原创 Linux部署tomcat服务器步骤

使用VMware创建虚拟机虚拟机为Linux centOS 7tomcat服务器需要运行在Java环境中,要预先配置Java环境,否则无法启动Linux配置Java JDK步骤1. 下载tomcat安装包:https://tomcat.apache.org/download-80.cgi安装wget命令:yum install -y wget使用wget命令下载安装包:wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.61/b

2020-12-18 15:21:56 301

原创 Linux配置Java JDK步骤

使用VMware创建虚拟机虚拟机为Linux centOS 7首先在官网下载JavaJDK:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html根据自己的需要下载对应的版本,我下载的是jdk-8u271-linux-x64.tar.gz,需要登陆才能下载。下载完成后将安装包上传到Linux服务器解压安装包命令:tar -xf 压缩包名称可以将jdk1.8.0_211文件夹移动到想

2020-12-18 10:55:18 116

原创 centOS7安装VMware Tools

虚拟机连接网络。使用ISO镜像文件。安装命令(如果有就不用安装)yum install -y psmiscyum -y install perl-Data-Dumper鼠标右击虚拟机,选择安装VMware Tools。挂载光盘到系统中(/mnt文件夹不固定,可按个人喜好挂载到合适位置)[root@bogon ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@bo.

2020-12-14 15:54:31 337

原创 VMware创建CentOS7虚拟机,网络设置仅主机模式或NAT模式后虚拟机ping不了物理机

问题描述:使用VMware创建CentOS7虚拟机,虚拟机网络设置为仅主机模式后无ping主机物理机ping虚拟机畅通问题原因:可能是物理机的防火墙导致虚拟机无法ping物理机.解决方法:控制面板\系统和安全\Windows Defender 防火墙关闭防火墙虚拟机ping物理机成功命令行:reboot:重启虚拟机systemctl restart network.service:重启网卡(设置网络连接模式后需要重启网卡)ip addr:获取ip地址ping IP地址:

2020-12-09 11:17:38 740

原创 css 超链接<a>标签设置颜色

使用伪类选择器a:link {color:#FF0000;} /* 未访问的链接 */a:visited {color:#00FF00;} /* 已访问的链接 */a:hover {color:#FF00FF;} /* ⿏标悬浮后的链接 */a:active {color:#0000FF;} /* 已选中的链接 */注意点:a:hover需要在a:link和a:visited之后才会生效,否则会被覆盖。...

2020-12-01 09:25:07 2860

原创 Java使用青云客智能聊天接口做一个小助手

青云客:http://api.qingyunke.com/也可以使用其他公司的API,比如腾讯、阿里等。

2020-11-26 10:40:21 1504 1

原创 Java缓冲字符输出流BufferedWriter

描述常用方法描述父类:Writer常见IO流:InputStream、OutputStream、Reader

2020-11-20 16:59:27 202

原创 Java缓冲字符输入流BufferedReader

描述常用方法描述父类:Reader常见IO流:InputStream、OutputStream、Writer

2020-11-20 16:57:54 955

原创 Java字符流和字节流的桥梁OutputStreamWriter

miaoshu1常用方法描述父类:Writer子类:FileWriter常见IO流:InputStream、OutputStream、Reader

2020-11-20 16:50:52 149

原创 Java字符流和字节流的桥梁InputStreamReader

miaoshu常用方法描述父类:Reader子类:FileReader常见IO流:InputStream、OutputStream、Writer

2020-11-20 16:46:43 344

原创 Java文件字符输出流FileWriter

FileWriter是OutputStreamWriter的子类,用字符流的方式对文件进行写入操作。常用方法描述父类:OutputStreamWriter基类:Writer常见IO流:InputStream、OutputStream、Reader...

2020-11-20 16:41:44 160

原创 Java文件字符输入流FileReader

FileReader是InputStreamReader的子类,用字符流的方式对文件进行读取操作。常用方法描述父类:InputStreamReader基类:Reader常见IO流:InputStream、OutputStream、Writer...

2020-11-20 16:39:17 136

原创 Java字符输出流Writer

Writer是输出字符流的父类,它是一个抽象类,部分库不推荐使用Reader/Writer。用来写文本。常用方法描述(未实现,不可用)void write(int c)写入一个字符void write(char cbuf[])写入一个字符数组void write(char cbuf[], int off, int len)将cbuf[off]到cbuf[off+len-1]的数据写入void write(String str)写入一个字符串void w

2020-11-20 15:44:27 420

原创 Java字符输入流Reader

Reader是输入字符流的父类,它是一个抽象类,部分库不推荐使用Reader/Writer。只能用来读文本。常用方法描述(未实现,不可用)int read()从流中读取单个字符,返回字符值,如果到达流末尾且没有可用字符,返回-1int read(char cbuf[])从流中读取最多cbuf.length个字符,存入数组cbuf中,返回实际读取的字符数,如果到达流末尾且没有可用字符,返回-1int read(char cbuf[], int off, int len)

2020-11-20 15:08:32 192

原创 Java语法:try-with-resource处理IO异常

public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("D:\\a.txt"); BufferedInputStream bis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("D:\\cop.

2020-11-19 20:34:26 143

原创 Java缓冲字节输出流BufferedOutputStream

缓冲:缓和冲击,内存中预留了一部分空间,这些空间用来缓冲输入或输出的数据,叫做缓冲区。使用缓冲区可以提高程序读写效率,因为数据读写速度和处理速度不平衡,读写速度很慢,如果太多次读写数据,会浪费大量的时间。BufferedOutputStream会将写入外界设备的数据先放到缓冲区中,当缓冲区满时写入到外界设备(磁盘等),并清空缓冲区,减少IO操作,也可以调用flush()方法将缓冲区的数据强制写入到外界设备,并清空缓冲区。默认缓冲区大小是8K。public BufferedOutputStream.

2020-11-19 20:27:03 513

原创 Java缓冲字节输入流BufferedInputStream

缓冲:缓和冲击,内存中预留了一部分空间,这些空间用来缓冲输入或输出的数据,叫做缓冲区。使用缓冲区可以提高程序读写效率,因为数据读写速度和处理速度不平衡,读写速度很慢,如果太多次读写数据,会浪费大量的时间。BufferedInputStream会预先读取一段原始数据放入缓冲区中,使用read方法时读取的是缓冲区中的数据,如果读取的数据超过了缓冲区的数据范围,BufferedInputStream会重新从原始数据中读取下一段数据放入缓冲区。使用缓冲区可以避免大量的磁盘IO。不用缓冲区的类(如File.

2020-11-19 20:03:02 408

原创 Java文件字节输出流FileOutputStream

FileOutputStream是抽象类OutputStream的子类,用来对文件以字节流的方式进行写入操作。常用方法描述public FileOutputStream(String name)public FileOutputStream(File file)public FileOutputStream(String name, boolean append)public FileOutputStream(File file, boolean append)

2020-11-19 16:52:18 370 1

原创 Java字节输出流OutputStream

OutputStream是输入字节流的父类,它是⼀个抽象类(⼀般用他的子类)。输出时先从程序输出到缓冲区,当缓冲区满或调用flush()方法时输出到外界设备。常用方法描述(未实现,不可用)void write(int b)将指定的字节输出void write(byte b[])从b数组中输出b.length个字节void write(byte b[], int off, int len)从b数组中输出len个字节,从b[off]开始void flush()将

2020-11-19 15:42:15 391

原创 Java文件字节输入流FileInputStream

FileInputStream是抽象类InputStream的子类,用来对文件以字节流的方式进行读取操作。常用方法描述FileInputStream(String name)构造方法,传入文件所在地址,如果文件不存在会报异常FileNotFoundExceptionFileInputStream(File file)构造方法,传入文件对象,如果文件不存在会报异常FileNotFoundExceptionint read()从流中读取一个字节,返回该字节的码值,如果到达

2020-11-19 11:43:02 195

原创 Java字节输入流InputStream

InputStream是输入字节流的父类,它是⼀个抽象类(⼀般用他的子类)。常用方法描述int read()从流中读取单个字节,返回0~255之间的字节值,如果到达流末尾且没有可用字节,返回-1int read(byte b[])从流中读取一定数量的字节,存入缓冲数组b中,返回实际读取的字节数,如果到达流末尾且没有可用字节,返回-1int read(byte b[], int off, int len)从流中读取最多len个字节,从b[off]开始存入缓冲数组b中,返

2020-11-18 20:34:17 204

原创 Java的IO流

IO:Input/Output,输入输出输入流:从外界设备—>程序(内存)输出流:从程序(内存)—>外界设备按照处理数据的类型分类:字节流: 处理字节相关,比如音频、视频、图片、文本等二进制数据,以字节(8bit)为单位,可以处理几乎所有文件(InputStream/OutputStream)。字符流:处理字符相关,比如文本数据,以字符为单位,根据码表映射字符,一次读取多个字节(Reader/Writer)。字节流InputStream是输入字节流的父类,它是⼀个抽象类,

2020-11-18 20:33:20 142

原创 Java文件操作

相对路径:相对于某个基准目录或文件的路径,./表示当前路径,…/表示上级目录。绝对路径:储存在硬盘上的真正路径。Windows路径分割符:\表示Windows系统文件目录分隔符。\是反斜杠,在代码中用来转义,例如\n代表换行,\\代表单个反斜杠。如果是Java代码在Windows下写某个文件的话需要用下面的方式://单反斜杠是用来转义的 String dir = "D:\\test\\a.txt";Linux和Mac路径分隔符:/表示Linux和Mac的路径分隔符

2020-11-12 16:29:30 129 2

原创 Java集合框架之Collections工具类

Collections工具类是Java里关于集合的工具类,包含有各种关于集合操作的静态多态方法,不能实例化。和Collection的区别Collection是接口,提供了对集合对象进行基本操作的接口方法,有List、Set等多种具体的实现类。Collections是工具类,专门操作Collection接口实现类里面的元素。常用方法描述void sort(List list)对重写了compareTo方法的类的对象元素集合进行排序void sort(List list,

2020-11-11 19:29:00 79

原创 Java之Lambda表达式

关于Lambda表达式为什么出现,推荐看大佬的文章:https://blog.csdn.net/coderising/article/details/100021167?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160509164619724839215663%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=1

2020-11-11 18:48:56 120

原创 Java集合元素排序接口:Comparable

Comparable:public interface Comparable<T> { public int compareTo(T o);}Comparable是一个接口,用来定义排序规则。作用是对每个实现它的类的对象进行整体排序,compareTo方法是实现排序的具体方法。比如TreeSet、SortedSet、Collections.sort()方法等会调用类中实现的compareTo方法进行排序。String、Integer等类默认实现了这个接口,所以可以排序。comp

2020-11-11 18:28:42 500

原创 Java报错:Exception in thread “main“ java.lang.ClassCastException

具体错误:Exception in thread “main” java.lang.ClassCastException: a.b.c.A cannot be cast to java.lang.Comparableat java.util.TreeMap.compare(TreeMap.java:1294)at java.util.TreeMap.put(TreeMap.java:538)at java.util.TreeSet.add(TreeSet.java:255)at a.b.c.ce

2020-11-11 17:16:44 7099

原创 Java集合框架遍历之迭代器(Iterator)

迭代器Iterator是Java的一个接口,核心作用是用来遍历容器里的元素,容器实现了Iterator接口后,可以通过Iterator()方法获取一个Iterator对象。遍历容器有很多种方法,for循环、增强for循环等,为什么要用迭代器循环?因为容器的实现有很多种,比如ArrayList、LinkedList、HashSet、reeSet等,所以这些容器本身实现了Iterator接口后,开发人员就不用关心容器的遍历机制,直接使用对应的方法就可以。Iterator的三个核心方法:boolean

2020-11-09 16:00:28 238

原创 Java集合框架:Set(HashSet、TreeSet)API

Set相对于List是简单的一种集合,继承了Collection接口,它不保存相同的元素,不能保存基本数据类型(int等)。Set的实现细节可以参考Map,因为Set的实现类都是对应Map实现类的一种封装(HashSet是对HashMap的封装,TreeSet是对TreeMap的封装)。HashSet(封装HashMap):TreeSet(封装TreeMap):Map要储存键、值两个对象,Set只存储一个对象,当往Set集合中添加新元素时,Set会调用Map的put方法,将新元素作为键,在设置一

2020-11-08 18:43:43 178

原创 Java集合框架:Map(HashMap、TreeMap)API

Map集合中存储元素对(键(key)值(value)对),每个键映射一个值,就像List的每个索引代表一个值一样,可以把List看作自带数值键的Map,但他们并没有什么联系。Map集合中存储的元素键(key)不能相同,但值(value)可以相同。不能储存基本数据类型(int等)。Map的实现类有HashMap、TreeMap、LinkedHashMap等。HashMap:底层是一个数组结构(Node<K,V>[] table),数组中的每一项都是一个链表,HashMap是数组和链表的结

2020-11-08 17:01:42 200

原创 Java集合框架:List(ArrayList、LinkedList)API

List接口是一个有序存储的Collection(线性列表接口)。可以通过索引(类似数组下标)来访问List中的元素,第一个元素索引为0,允许存储相同的元素。常见的实现了List接口的类有ArrayList、Vector、LinkedList等。注意:不能存储基本数据类型(int、long、double…)。ArrayList:基于数组实现,是一个动态的数组队列,和数组不一样的是它的容量可以自动增长。只要内存够大,可以存储任意多的对象。插入和删除元素时速度慢,但是查找元素速度快。常用API:

2020-11-07 19:36:05 289 1

机器人聊天jar包,使用青云客API接口

机器人聊天jar包,使用青云客人工智能聊天API接口,可以实现查天气、讲笑话等操作,类似小爱同学,详见博客:https://blog.csdn.net/tjk12345/article/details/110132597

2020-11-26

基于C#的仓库管理系统

基于C#的仓库管理系统,需要的可以自行下载 简单介绍:https://blog.csdn.net/tjk12345/article/details/109444524

2020-09-28

java购物系统大作业.zip

由Java swing实现的一款简单的购物程序,数据库采用的是mysql,实现了管理员对商品类型和商品的管理及用户注册登录后浏览商品、加入购物车、购买商品等功能

2019-11-14

空空如也

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

TA关注的人

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