自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 搭建maven私服

搭建maven私服环境Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库管理功能,构件搜索功能等nexus.bat installnexus.bat uninstallnexus.bat start登录http://localhost:8081/nexus/nexus 的仓库有 4 种类型:hosted,宿主仓库, 部署自己的 jar 到这个类型的仓库,包括 releases 和 snapshot 两部

2021-01-23 00:50:32 183

原创 日志坐标

日志坐标<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version></dependency><dependency> <groupId>org.slf4j</groupId> <artifact

2021-01-21 20:34:08 231

原创 rpm软件包管理器

rpm软件包管理器rpm : 工具, 用来打包 和安装rpm -qa : 查询所有安装过的软件包rpm -e --nodeps 删除的软件包名: 删除指定的安装包 rpm -ivh 包名 :安装rpm包安装JDK.从windows上传到linux在CRT下,Alt+P检查系统上是否安装了jdk(若安装了就需要先卸载再使用我们自己的)java -version查看出安装的java的软件包rpm -qa | grep java卸载linux自带的jdk

2021-01-18 00:23:49 206

原创 Linux

Linux是基于Unix的开源免费,多用户,多任务的操作系统,由于Linux系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境做为一个后端程序员,通常在windows/MAC中开发完程序后,得部署到一个相对比较安全,稳定的服务器中运行,这台服务器上安装的不是windows操作系统,而是Linux操作系统。Linux的目录结构Linux不像windows那样有盘符的概念,它的最高目录为根目录(用/表示)/:系统根目录 root目录:超级管理员所在的目录,用~表示 home目

2021-01-17 23:59:31 267 1

原创 JsonUtils

public class JsonUtils { /** * 响应结果 * @param response * @param obj * @throws IOException */ public static void printResult(HttpServletResponse response, Object obj) throws IOException { response.setContentType("app

2021-01-17 08:18:02 58

原创 json

json的定义和解析在实际的开发通常使用JQuery的Ajax ,或者Vue里面的axiosJSON就是一个容易生成和解析的数据格式;常用作客户端(前端,IOS,安卓)和服务器(JavaEE)之间的数据交换定义方式对象形式:{key:value,key:value…}数组形式:[element1, element2, …]混合(嵌套)形式:以上两种类型任意混合1). json对象的value,可以是任意类型,当然也可以是数组2). 数组里的element,可以是任意类型,当然也

2021-01-15 00:30:29 69

原创 权限过滤

权限过滤 /* 1. 这个过滤器拦截所有的请求 2. 拦截所有的请求下来之后,得判定是不是访问隐私的数据,还是访问普通的不需要登录的数据 2.1 如果访问的是登录页面,直接放行 2.2 除了登录页面,所有的请求都得询问有没有登录,(判断session里面有没有user对象) 2.2.1 如果有登录了,就直接放行 2

2021-01-14 23:19:15 178

原创 PageBean

PageBeanpublic class PageBean<T> { private List<T> list; //联系人列表 private int curPage;//当前页码 private int sumPage;//总页码 private int count;//总数量 private int curSize;//一页显示的数量 }模块Servlet使用反射优化方法调用 try {

2021-01-14 23:10:37 75

原创 Listener

Listener监听器就是一个Java类,用来监听其他的JavaBean对象的变化在javaweb中监听器就是监听三个域对象的状态的。request,session,servletContext(application)监听器的应用主要在Swing编程在Android/ios大量应用JS里面的事件 —> 给按钮设置点击 οnclick=""监听器的术语事件源 :被监听的对象.(目标对象)监听器对象:监听的对象.事件:事件源行为的称呼.注册(绑定)

2021-01-14 15:44:04 75 1

原创 Filter

FilterFilter:一个实现了特殊接口(Filter)的Java类. 实现对请求资源(jsp,servlet,html,)的过滤的功能.过滤器是一个运行在服务器的程序, 优先于请求资源(Servlet或者jsp,html)之前执行. 过滤器是javaweb技术中最为实用的技术.过滤器必须是在所有的请求到来之前,就先准备好应用场景: 登录权限检查, 解决网站乱码, 过滤敏感字符 …Filter生命周期服务器启动的时候, 会调用init()方法进行初始化【调用一

2021-01-14 01:47:30 80 1

原创 mvc&三层架构

JSP的开发模式JSP + Servlet + JavaBean 称为MVC的开发模式.M:model 模型 (javaBean:封装数据)V:View 视图 (JSP:展示数据)C:controller 控制器 (Servlet:处理逻辑代码,做为控制器)三层架构按照不同功能分为不同层,通常分为三层:表现层(web层),业务层,持久(数据库)层分层的意义解耦:降低层与层之间的耦合性。可维护性:提高软件的可维护性,对现有的功能进行修改和更新时不会影响原有的功能可扩展性:提

2021-01-14 01:16:15 116

原创 JSTL标签库

JSTL标签库JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。这个JSTL标签库没有集成到JSP的, 要使用的话, 需要导jar包.JSTL标签库的作用为了方便我们在jsp页面上操作数据 , EL表达式作用是取数据, jstl的作用是操作数据(遍历显示数据JSTL核心标签库jstl是一个标签库,仅仅提供标签而已,它的作用是操作数据,所以我们必须得有数据,要想获取到数据,需要使

2021-01-14 01:08:57 83

原创 El表达式

El表达式Expression Language:表达式语言, jsp2.0之后内置在jsp里面EL表达式的作用就是为了能够简单快捷的在jsp页面上,获取到在Servlet里面存放到作用域里面的值目的:为了使JSP写起来更加简单, 取值(取的域对象里面存的值)更加简单。(代替脚本 <% %>)获取简单数据类型数据语法:${requestScope|sessionScope|applicationScope.属性名};快捷写法: ${属性名}, 属性

2021-01-14 00:55:28 59 2

原创 删除cookie

//删除cookie,创建同名的cookie,设置时间为0,路径为同名的路径证明是同一个cookie,写回给客户端 Cookie coo=new Cookie("命名",""); coo.setMaxAge(0); coo.setPath("要删除的cookie的同一个路径"); response.addCookie(coo);...

2021-01-08 21:37:04 67

原创 显示用户的上次访问时间

cookie显示用户的上次访问时间 //格式化当前时间 Date date=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String s = sdf.format(date); //创建cookie 记录最新的访问时间,并存储到response缓冲区中 Cookie co = new Cookie("liyong", s)

2021-01-08 19:19:50 598 1

原创 判断浏览器的类型,然后进行编码

中文文件在不同的浏览器中编码方式不同:火狐是Base64编码, 其它浏览器(谷歌)是URL的utf-8编码// 获得浏览器的类型 String agent = request.getHeader("User-Agent"); //判断浏览器的类型,然后进行编码if(agent.contains("Firefox")){ // 火狐浏览器 filename = base64EncodeFileName(filename); }else{ // IE,其他浏览器 filena

2021-01-06 20:42:17 100

原创 form表单数据对象封装

使用BeanUtils封装使用request对象来获取请求参数,但是,如果参数过多,我们就需要将数据封装到对象。以前封装数据的时候,实体类有多少个字段,我们就需要手动编码调用多少次setXXX方法BeanUtils是Apache Commons组件的成员之一,主要用于简化JavaBean封装数据的操作使用步骤:导入jar使用BeanUtils.populate(user,map) <form action="Demo1" method="get"> 用户名:&lt

2021-01-06 17:00:08 847

原创 GenericServlet获得ServletContext的源码

GenericServlet获得ServletContext的源码由于HttpServlet extends GenericServlet所以可以直接用this.getServletConext()来获得ServletContext对象 public ServletContext getServletContext() { return this.getServletConfig().getServletContext(); }...

2021-01-06 01:24:56 101

原创 HttpServlet重写service方法的源码

HttpServlet重写service方法的源码 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getMethod(); long lastModified; if (method.equals("GET")) { l

2021-01-06 00:28:11 256

原创 使用JQuery完成省市二级联动

使用JQuery完成省市二级联动 <script type="text/javascript" src="../js/jquery-1.8.3.js"></script> <script> $(function () { // 创建一个二维数组存储城市 var cities=new Array(3); cities[0]=new Array("武汉","黄冈");

2021-01-04 21:11:25 233

原创 jQuery完成复选框的全选和全不选

使用jQuery完成复选框的全选和全不选 <title>使用jQuery完成复选框的全选和全不选</title> <script rel="script" src="../js/jquery-1.8.3.js"></script> <script> $(function () { $("#select").click(function () { $(".selectOne").attr("checked",this

2021-01-04 19:11:20 80

原创 JQuery外部样式引入隔行换色

JQuery改进隔行换色自己设置颜色 <title>使用jQuery完成表格隔行换色</title> <script type="text/javascript" src="../js/jquery-1.8.3.js"></script> <script> $(function () { $("tbody tr:even").css("background","blue"); $("tbody tr:odd").

2021-01-04 18:53:49 87

原创 一些常用的正则表达式示例

一些常用的正则表达式示例1、匹配所有的正数:^[0-9]+$2、匹配所有的小数:^\-?[0-9]*\.?[0-9]*$3、匹配所有的整数:^\-?[0-9]+$4、提取信息中的中文字符串: [\u4e00-\u9fa5]* ; 5、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 6、提取信息中的中国手机号码:(86)*0*13\d{9} 7、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{

2021-01-04 14:07:30 93

原创 XML解析

XML解析解析方式开发中比较常见的解析方式有三种,如下:DOM:要求解析器把整个XML文档装载到内存,并解析成一个Document对象 a)优点:元素与元素之间保留结构关系,故可以进行增删改查操作。 b)缺点:XML文档过大,可能出现内存溢出SAX:是一种速度更快,更有效的方法。她逐行扫描文档,一边扫描一边解析。并以事件驱动的方式进行具体解析,每执行一行,都触发对应的事件。(了解)a)优点:不会出现内存问题,可以处理大文件 b)缺点:只能读,不能回写。PULL:Androi

2021-01-04 13:57:26 42

原创 省市二级联动

省市二级联动 <script> // 创建一个二维数组存储城市 var cities=new Array(3); cities[0]=new Array("武汉","黄冈"); cities[1]=new Array("长沙","衡阳"); cities[2]=new Array("郑州","南阳"); cities[3]=new Array("石家

2021-01-04 11:59:56 129

原创 表格隔行换色/复选框的全选和全不选

表格隔行换色 <title>表格隔行换色</title> <script> window.onload=function () { var tbEle= document.getElementById("tb1"); var len = tbEle.rows.length; for(var i=0;i<len;i++){

2021-01-04 10:53:09 57

原创 Browser Object Model

Browser Object Model ,浏览器对象模型.为了便于对浏览器的操作,JavaScript封装了对浏览器中各个对象,使得开发者可以方便的操作浏览器中的各个对象。BOM里面的五个对象window: 窗体对象alert() //显示带有一段消息和一个确认按钮的警告框confirm() //显示带有一段消息以及确认按钮和取消按钮的对话框,返回选择的结果,确定(true),取消(false)setInterval('函数名()',time) //按照指定的周期(以毫秒计)来调用函.

2021-01-04 01:45:43 187

原创 Document Object Model

DOMDOM:Document Object Model,文档对象模型。是js提供的,用来访问网页里所有内容的(标签,属性,标签的内容)DOM树当网页被加载时,浏览器会创建页面的DOM对象。DOM对象模型是一棵树形结构:网页里所有的标签、属性、文本都会转换成节点对象,按照层级结构组织成一棵树形结构。整个网页封装成的对象叫document标签封装成的对象叫Element属性封装成的对象叫Attribute文本封装成的对象叫Text 操作标签 document.getEle

2021-01-04 01:31:10 170

原创 反射之操作

反射的引入通过反射技术对类进行了解剖得到了类的所有成员。反射的概念反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖并操作类中的所有成员(成员变量,成员方法,构造方法)使用反射操作类成员的前提要获得该类字节码文件对象,就是Class对象获取一个类的Class对象方式1: 通过类名.class获得方式2:通过对象名.getClass()方法获得方式3:通过Class类的静态方法获得: static Class forName(“类全名”)每一个类的Cla.

2021-01-03 12:02:32 67

原创 类加载器

类加载器类的加载当我们的程序在运行后,第一次使用某个类的时候,会将此类的class文件读取到内存,并将此类的所有信息存储到一个Class对象中类的加载时机创建类的实例。类的静态变量,或者为静态变量赋值。类的静态方法。使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。初始化某个类的子类。直接使用java.exe命令来运行某个主类。以上六种情况的任何一种,都可以导致JVM将一个类加载到方法区。类加载器:是负责将磁盘上的某个class文件读取到内存

2021-01-03 11:45:00 118

原创 Junit其他注解

Junit其他注解@Before:用来修饰方法,该方法会在每一个测试方法执行之前执行一次。@After:用来修饰方法,该方法会在每一个测试方法执行之后执行一次。@BeforeClass:用来静态修饰方法,该方法会在所有测试方法之前执行一次,而且只执行一次。@AfterClass:用来静态修饰方法,该方法会在所有测试方法之后执行一次,而且只执行一次。Junit断言断言:预先判断某个条件一定成立,如果条件不成立,则直接报错。 使用Assert类中的assertEquals()方法pub

2021-01-03 10:48:33 178

原创 XML(EXtensible Markup Language)

XML 指可扩展标记语言(EXtensible Markup Language)XML是用来存储数据, 传输数据的,不是用来显示数据的,而显示数据是用HTMLXML 是 W3C 的推荐标准W3C在1988年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版> xml的作用作为配置文件。 javaee框架 ssm大部分都会使用xml作为配置文件XML可以存储数据 ,

2021-01-03 09:49:34 359

原创 NIO2-AIO(异步、非阻塞)

NIO2-AIO(异步、非阻塞)同步:调用方法之后,必须要得到一个返回值。异步:调用方法之后,没有返回值,但是会有回调函数。回调函数指的是满足条件之后会自动执行的方法阻塞:如果没有达到方法的目的,就一直停在这里【等待】。非阻塞:不管有没有达到目的,都直接【往下执行】。在JDK1.7中,这部分内容被称作NIO.2---->AIO,主要在Java.nio.channels包下增加了下面四个异步通道:AsynchronousSocketChannelAsynchro

2021-01-03 00:42:45 241

原创 Selector(选择器)

Selector(选择器)选择器Selector的获取和注册Selector选择器的获取Selector selector = Selector.open();注册Channel到Selector通过调用 channel.register(Selector sel, int ops)方法来实现注册:channel.configureBlocking(false);// 设置非阻塞SelectionKey key =channel.register(selector,Selection

2021-01-03 00:26:45 1290 2

原创 Channel(通道)之FileChannel类

Channel(通道)之FileChannel类FileChannel类的基本使用 获取FileChannel类的对象java.nio.channels.FileChannel (抽象类):用于读、写文件的通道FileChannel是抽象类,我们可以通过FileInputStream和FileOutputStream的getChannel()方法方便的获取一个它的子类对象。FileInputStream fi=new FileInputStream(new File(src));

2021-01-02 21:46:49 429 1

原创 Buffer类(缓冲区)之ByteBuffer类

Buffer类(缓冲区)_ByteBuffer类ByteBuffer类内部封装了一个byte[]数组,并可以通过一些方法对这个数组进行操作。创建ByteBuffer对象的三种方式//方式一:在堆中创建缓冲区: public static ByteBuffer allocate(intcapacity)// 方式二: 在系统内存创建缓冲区: public static ByteBuffer allocatDirect(int capacity) // 方式三:通过数组创建缓冲区: publ

2021-01-02 18:37:22 276

原创 了解NIO的概述

同步与异步(synchronous/asynchronous)同步: 调用方法之后,必须要得到一个返回值异步: 调用方法之后,没有返回值,但是会有回调函数,回调函数指的是满足条件之后会自动执行的方法阻塞与非阻塞阻塞:如果没有达到方法的目的,就会一直停在那里(等待) , 例如: ServerSocket的accept()方法非阻塞: 不管方法有没有达到目的,都直接往下执行(不等待)NIO这是一个面向块的I/O系统,系统以块的方式处理数据NIO之所以是同步,是因为它的accept/r

2021-01-02 14:38:01 156

原创 TCP通信程序

TCP协议相关的类//- Socket : 一个该类的对象就代表一个客户端程序。 - Socket(String host, int port) 根据ip地址字符串和端口号创建客户端Socket对象 //* 注意事项:只要执行该方法,就会立即连接指定的服务器程序,如果连接不成功,则会抛出异常。 // 如果连接成功,则表示三次握手通过。 - OutputStream getOutputStream(); 获得字节输出流对象 - InputStream g

2021-01-02 14:12:30 144

原创 Base64

Base64概述Base64是jdk8提出的一个新特性,可以用来进行按照一定规则编码和解码Base64编码和解码的相关方法编码的步骤:获取编码器调用方法进行编码解码步骤:获取解码器调用方法进行解码- Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。MIME:输出隐射到

2021-01-02 13:56:11 67

原创 方法引用

JDK8新特性方法引用概述方法引用使用一对冒号 :: , 方法引用就是用来在一定的情况下,替换Lambda表达式方法引用基本使用使用场景:如果一个Lambda表达式大括号中的代码和另一个方法中的代码一模一样,那么就可以使用方法引用把该方法引过来,从而替换Lambda表达式如果一个Lambda表达式大括号中的代码就是调用另一方法,那么就可以使用方法引用把该方法引过来,从而替换Lambda表达式方法引用的分类构造方法引用public class Test1_构造方法引用 {

2021-01-02 13:46:02 214

空空如也

空空如也

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

TA关注的人

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