- 博客(132)
- 收藏
- 关注
原创 idea使用技巧 --插件,使用,调试
一. 方便的idea插件restfultool:让我们对项目中的所有接口一览无余,尤其接手新的项目和确实文档的项目alibaba java coding guidlines:alibaba编码规范插件,提示代码需要做什么code with me:idea官方研发用于收集编码习惯和常用类,未来会越来约好用code glance:整体浏览代码行grep console:对控制面板的日志进行颜色甄别jpa support:你想工程的配置,在idea中使用database,即可你想生成代码
2021-08-05 16:37:20
1473
原创 《linux命令行与shell脚本编程》 内容整理读后感
常用linuxps-ef|grep 根据程序名称查询pidnetstat anp |grep 根据端口查询pidpwdx pid 根据pid查找程序路径及名称chmod +x xxx.sh 给Sh脚本可执行权限chown -R user:usergroup filename 给文件更换用户及用户组scp filepath user@ip:filepath 复制文件到目标地adduser xxxpasswd userrpm -qa | grep...
2021-07-07 20:12:14
428
原创 java中自定义注解和常用注解
一 注解的原理二 自定义注解三 常用注解1.@ControllerAdvice顾名思义,控制器的加强版,它注解在类上,有一种切面的功能,可以对所有的请求或者异常做相应的处理。如配合@ExeptionHandler对系统中异常按照异常类型进行处理。如对请求在执行请求方法前进行数据的@ModelAttribute处理让所有请求都拥有某个数据。如结合@InitBinder对同名属性进行形如a.nam/b.name的甄别。@ControllerAdvice@Order(-2147483648
2021-07-06 11:15:12
426
原创 关于Maven的理解和应用
1.为什么使用Maven ① 可以模块化一个巨量的项目 ② 便于我们规范化的统一管理jar包 2. Maven是什么 java语言编写的一种服务于java平台的自动化构建工具。(Make->>Ant->>Maven->>Gradle) 3. 三种工程的结构 ① ecclipse中的显示的目录结构 ② navigator透视图下的编译好的工程目录,相对于
2021-06-21 14:35:39
151
原创 docker 一种云平台
1.docker产生的原因开发和运维人员之间因为操作系统,运行环境和配置的不同,容易造成误解。允许将代码/配置/系统/数据这一套全部迁移--搬楼使用场景:dai
2021-06-21 14:33:16
377
原创 第三方插件antlr代码自动生成和自定义监听器原理分析
第三方插件编译之后打包:1.pom引入相关插件:设定源文件和编译代码生成的目录2.maven clean ->maven package3.编译即可,在编译代码生成的目录看见代码4.反射调用代码,因为是在编译期生成的代码,所以只能用反射demo利用antlr校验表达式<plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin&l.
2021-05-26 10:56:41
953
原创 java8新特性
java8新特性1.lambda表达式结构:lambda表达式和方法一样,提供了参数列表和使用参数的主体,主体可以是表达式或者代码块;当参数为1可以省略(),当主体为一句表达式可以省略{};lambda极其类似于匿名函数,即函数没有返回值权限符方法名;组成部分:输入参数,可执行主体,存放外部参数的空间;lambda表达式访问外部变量时,变量不可变,只是引用不可变lambda表达式的this是指代外部声明它的对象,而不是表达式产生的那个对象2.Stream流Stream是java用来处
2021-05-26 10:56:15
148
原创 git 总结
草图地址:https://blog.youkuaiyun.com/halaoda/article/details/78661334git rebase :https://blog.youkuaiyun.com/hudashi/article/details/7664631git fetch/pull区别:https://blog.youkuaiyun.com/weixin_41975655/article/details/82887273 https://www.zhihu.com/question/38305012git...
2021-05-07 10:58:12
103
原创 javaweb之国际化
前边我们讲过了javaweb中的文件上传和下载,下边我们讲一讲javaweb中的国际化的实现。与之对比的是Spring中如何实现国家化的功能。 1. 国际化 软件的国际化,就是在软件开发时,让程序支持多个国家或者地区的本地化应用。本地化应用是指:一个软件在不同的国家和地区采取当地的时间,日期,语言,数字,货币。 国际化又称为i18n,international总共十八个字母。
2017-10-10 09:01:14
292
原创 文件的下载之fileupload组件
前边我们讲过了如何使用fileupload组件实现文件的上传,下边我们讲一讲如何实现文件的下载。 文件的下载要到达的实际效果是:我们希望点击按钮之后,出现一个让用户来处理的选择弹出框。 具体的实现就是我们在请求的Servlet中,设置响应的类型和内容,即设置两个参数: ① response.setContentType("application/x-msdownload"):设置
2017-10-10 08:51:09
385
原创 javaweb中的文件上传之fileupload组件
今天我们来说一说如何完成文件上传。 1.概述 ① 文件上传指的是将文件通过浏览器传输到服务器或者指定的磁盘中。 ② 在一个表单中我们首先要使用file组件来上传,因为get请求无法携带大数据的请求参数,所以必须使用post方式,然后表单的编码方式也必须设置为encrytype="multipy/form-data"(这个是浏览器发送文件到服务器时,文件的编码格式为二进制的意思),
2017-09-30 08:38:32
587
1
原创 Swevlet中的监听器
今天我们来讲一讲监听器。 1..Servlet监听器 ① 监听器就是专门用于对某个对象身上发生的事件或者状态改变进行监听和相应处理的对象,当被监听的对象发生改变时立即采取相应行动。 ②Servlet监听器,Servlet规范中定义的一些特殊的类,用于监听三个域对象ServletRequest/HttpSession/ServletContext的创建和销毁、ServletRequ
2017-09-29 08:52:28
459
原创 Javaweb中的Filter过滤器
前边我们讲过了使用EL表达式结合标签(自定义标签和JSP标准标签库)来完成JSP中替代Java代码的开发,会极大的提高程序的可读性和维护的能力。今天我们来讲一讲Servletapi中的Filter。 1. Filter概述 ① Filter基本功能是对Servlet容器调用和获得响应的Servlet的过程进行拦截,从而在Servlet进行响应的前后实现一些特殊的功能。 ② Ser
2017-09-25 09:38:12
403
原创 JavaWeb中的JSTL操作
前边我们讲过了JavaWeb中的EL表达式语言和如何自定义标签,下边我们来说一说Javaweb提供的一个JSP标准标签库,JSTL。开发人员可以借助于EL表达式语言和标准标签库来完成web程序,取代传统的直接在JSP页面上编写Java代码的方式,提高程序的可读性和维护性。 1. 简介JSTL Javaserver page standard tag library , 中文名称是Jav
2017-09-25 08:49:30
572
原创 JSP中的自定义标签
今天我们来说一说在JSP中如何自定义标签。 1.为何会存在标签 我们知道,标签是为完成某种功能而存在的,但其实,Java脚本代码也可以在JSP中完成相同的功能,但是代码量看起来比标签多,所以,我们为了降低JSP开发的复杂度和维护量才需要自定义标签。自定义标签同时还可以让软件开发人员和页面设计人员工作分开,在不同的项目使用自定义标签,还可以提高软件的重用性。 2.自定义标签是什么
2017-09-22 11:36:00
593
原创 JAVAWEB中的EL用法
今天我们来讲一讲Javaweb中的EL的用法。 1.EL ① EL:全名称是Expression Language,即表达式语言。这种语言的特点就是相当于不断的先去调用当前JSP中隐含对象的getXxx(不带参)的方法,再去调用其中属性的getXxx()方法,从而获取最终的属性值。 ② 语法是:${隐含对象.属性.属性}。其功能作用相当于Java表达式:,即先从域对象中获取到这个
2017-09-20 08:45:46
1151
原创 Session
今天我们来讲一讲JavaWEB中的Session的问题 1.Session的概述 ① 什么是Session 是会话的意思,指的是一系列的动作。也可以说是在客户端和服务器端保持状态的方案。 ② Session机制 采用的的是在服务器端保持HTTP请求状态的方案。 服务器使用一种类似于散列表或者就是散列表的的结构来保持信息。 当服务器需要为某个客户端的请求创建
2017-09-19 14:13:36
391
原创 JavaWEB中的Cookie
今天我们来说一说在JavaWEB项目中遇到的Cookie的问题。 1. 提出问题 WEB协议是一种无状态协议,即WEB服务器本身并不可以识别出哪些请求是同一个浏览器发出的,因为浏览器的请求都是孤立的。但是,我们希望WEB服务器可以提供一种机制来唯一的标识一个浏览器,并且记录这个浏览器的状态。这里的一个浏览器也可以指代会话对象。 2.会话和会话状态 ① 会话:WEB浏览器和W
2017-09-14 13:55:39
343
原创 JavaWEB中的JSP
讲述完了servlet,我们下边来讲述一下JSP。 1.JSP概述 ① JSP为何存在? 我们前边讲过的servlet中可以通过response的getWriter().println()来向客户端浏览器显示内容,但是如果是很多的复杂的html的内容,通过这种方式操作起来就会很麻烦,为了解决这个问题,产生了JSP。 JSP是如何解决这个问题呢?它将HTML页面和Java代码
2017-09-13 09:02:33
407
原创 JavaWEB的Servlet
最近几天我们学习了一下JavaWEB的Servlet,下边就来讲一讲这个Servlet。 1. Servlet概述 ① Servlet是一个与平台无关的服务器组件,是一个Java类,运行在WEB服务器中。 ② 创建一个Servlet的六个方法,四个生命周期相关的方法,还有getServletConfig和getServletInfo。 ③ Servlet若想在浏览器中直
2017-09-13 09:02:23
280
原创 SpringMVC的运行流程
其实,SpringMVC中最重要的就是DispacherServlet这个调度器,他控制了整个请求的处理过程。一定要去看看源码。 流程: 当一个请求发出时,首先会根据DispacherServlet的URL去找SpringMVC中有没有对应的RequestMapping的映射,若没有,那么会当成静态资源的请求,去找配置文件中是否有若存在这个配置,就会去响应的静态资源,若没有响应的静态资
2017-09-02 17:06:01
295
原创 Maven中各个工程之间的继承和聚合
我们知道Maven工程之间可以完成依赖的传递性,实际上就是各个jar包和war包之间存在依赖的传递性,但是必须是compile范围的依赖才具有传递性,才可以根据传递性统一的管理一个依赖的版本。而对于test范围的依赖,只是孤零零的存在于某个项目中,各个项目中的依赖版本可能不同,容易造成问题,所以test范围的依赖的统一版本的问题依靠依赖的传递性是无法解决的。所以我们使用继承这个概念来解决。
2017-09-02 16:38:54
2732
原创 如何确定Spring容器之间的关系
我们知道,在一个大的项目中,不可能只有一个Spring的IOC容器,它可能会有多个IOC容器,如一个配置Service层的bean,一个配置controller层的bean。但是我们在controller层中使用@autowired注解注入了service层的bean,所以service的bean就必须要在controller的bean之前已经注入到IOC容器中,且service的bean所在的I
2017-09-01 17:20:51
370
原创 如何在eclipse中导入Maven工程
我们知道,要想在eclipse中导入工程,则sourcecode中必须有eclipse可以识别到的工程的标识,如一个Java project工程的source会有.settings/.classpath/.project这三个文件,所以我们无法将一个在外部建立好的Maven过程以Java project的方式进行导入,即使已经将sourcecode放入了工作空间中。此时,应该用Maven Proj
2017-09-01 17:20:34
375
原创 Maven依赖的可传递性
今天我们来讲一讲Maven工程在引用jar包上的传递性。 1.情景分析 假设有两个Maven工程,A和B,其中A引用了已经安装在仓库中的B工程install成的jar包,而B工程本身有对spring-core.jar的引用。我们可以看到在A工程的Maven Dependencise中,也会有对spring-core.jar的引用。这就是引用依赖的传递性。 2.依赖传递的好处
2017-09-01 17:20:20
1874
原创 Maven中jar包之间的冲突问题
今天我们来讲一讲Maven中的jar包之间冲突的问题。 举例来说,就是当我们将servlet-api.jar导入以compile范围的方式导入到pom文件中去的时候,那么这个jar包就会存在与编译之后的程序的lib目录下,然而WEB服务器之上也是有这个jar包的,所以同种类型的jar包就存在了两个,程序不知道该引用哪一个jar包,所以干脆就都不引用而导致空指针异常。所以诸如servlet-a
2017-08-30 09:26:13
371
原创 Spring的自定义拦截器
我们知道Strust2中的工作流程实际上时通过一系列的拦截器来实现功能的,同样的,在SpringMVC中也可以定义一系列的拦截器来完成一些功能。 1.自定义拦截器 ① 写一个类实现HandleInterceptor接口并重写三个方法,preHnadle/postHandle/afterComletion ② 在springmvc.xml中进行配置一下这个类的的子节点。需要注意的是
2017-08-29 17:57:20
458
1
原创 Maven的坐标、仓库、依赖、范围
上次我们讲过了Maven在运行过程中可能产生的联网问题,即它在构建过程中的各个阶段是需要具体的插件去执行的,这些插件并不存在Maven的核心程序中,它会先去本地仓库中寻找,若没有找到就会联网去中央仓库寻找,若为联网,则项目构建失败。下边我们来讲一讲Maven的坐标、仓库、依赖、范围。 1.坐标:简称jav(groupId artifactId version) 就是本项目的pom.xm
2017-08-29 11:52:54
404
原创 Maven的联网问题
今天我们来说一说运行Maven时的联网问题。 1.Maven命令 mvn clear:清理 mvn compile:编译主程序 mvn test-compile:编译测试程序 mvn test:执行测试 mvn package:打包 我们在windos系统的cmd命令中想要执行Maven构建过程相关的操作命令时,必须要进入pom.xml所在的目录。
2017-08-28 14:53:17
979
原创 Maven的核心程序和目录结构
前边我们讲过了Maven的概述,包括Maven是一个自动化的构建平台,构建的意义和构建的环节,以及Java代码中相对路径的问题。今天我们来讲一讲如何部署Maven的核心程序和一个Maven项目的基本目录结构。 1.Maven核心程序的部署 Maven作为一个应用程序是需要部署的,我们首先将Maven的核心程序放到一个无空格非字符串的目录下,然后配置以下系统的MAVEN_HOME和p
2017-08-28 10:43:38
644
原创 Maven概述
前边我们从工程的体量、jar包的来源、jar包之间的依赖、jar包之间的重复四个方面讲了讲Maven相对于传统Java动态工程的优势,即Maven可以使得每一个模块对应一个工程且可以让工程之间互相通信,Maven会将所有工程中用到的jar包放入到一个仓库中若工程需要时对其进行引用即可,Maven还可以自动的向工程中导入某个jar包的依赖包而不用程序员自己根据经验去手动的添加了,Maven中的jar
2017-08-28 10:10:27
284
原创 Maven相比于传统Java动态工程的优势
相对于传统的Java动态Web工程而言,Maven工程有很多优势是传统动态工程所不具备的,同时也解决了传统动态工程所存在的一些问题,下边我们就一一列举。 1.工程庞大: 当我们的项目中代码量很多或者项目中的模块很多甚至达到几十个模块时,就不再适合使用Package来划分模块,Maven可以让每一个模块都对应一个Java工程,且各个模块对应的工程之间可以互相通信。 2.jar包重复: 当
2017-08-28 09:00:30
2869
原创 SpringMVC的文件的上传
前边我们讲过了SpringMVC的国际化,即主要需要配置三个bean:ResourceBundleMessageSource、LocaleResolver、LocaleChangeInterceptor和每个语言对应的资源文件即可。下边我们来说一说SpringMVC如何完成文件的上传。 同样的,我们需要在IOC容器中配置一个MultipartResolver的bean并在其属性中设置文件上传
2017-08-26 16:10:43
170
原创 SpringMVC如何处理国际化
什么是国际化,就是当我们变换浏览器的语言的时候,响应的用户页面的文字等内容也会和语言的内容相一致;更高级的做法是,我们可以通过点击按钮来切换页面的语言。 1.切换浏览器语言 我们需要在JSP页面中使用fmt标签来读取国际化资源文件的内容,然后配置代表不同语言的国际化资源文件并且在其中使用相应的语言进行设置,然后需要在IOC容器中配置一个ResourceBundleMessageSour
2017-08-26 16:04:34
301
原创 SpringMVC如何处理Ajax请求和返回Json对象
前边我们讲过了在从表单数据到处理方法入参的转换之间的一系列过程,即先要将表单信息及目标方法入参放入到一个名为DataBinder的对象中,然后调用这个对象的ConversionService中的转换器进行数据类型的转换和格式化(然后将请求的表单信息放入到目标方法入参中),然后再调用ConversionService的Validator组件进行数据的逻辑合法性的检查。最后将绑定的入参对象和产生的异常
2017-08-26 15:53:29
1509
原创 SpringMVC的视图和视图解析器
前边我们讲过了SpringMVC的目标方法入参的实例对象实例化的过程,即它会根据他的一个key先去implicitModel中寻找相应的对象,若找不到则会去session中找,若还是找不到,则会通过反射创建一个这样的实例对象。需要注意的是若session中有对应的key却没有对象的话,则会报异常。下边我们来讲一讲SpringMVC用到的各种视图和视图解析器。 我们在SpringMVC的配置文
2017-08-23 14:38:16
264
原创 关于JdbcTmplate和Hibernate共享事务的问题
今天再做一个项目的时候遇到了一个问题,再一个程序里边使用到了两种持久化的框架,分别是JdbcTemplate和Hibernate。为什么会使用两种持久化框架呢?是因为Hibernate是一种面向对象的SQL持久化框架,所以在进行SQL操作的时候回产生一些细粒度的问题,如我们在Java程序中调用数据库中的存储过程时就会产生问题,所以我们要使用比较原声的JdbcTemplate技术来为完善。但是在使用
2017-08-21 17:46:36
742
原创 SpringMVC@ModelAttribute的运行流程
前边我们讲过了SpringMVC如何确定处理方法的POJO类型的入参。即它会先确定自己的一个key(按照有无@ModelAttribute注解修饰来区分),然后按照这个key先去对应的implicitModel中寻找(即我们在@ModelAttribute修饰的方法中利用Map放入到了implicitModel中对应的key和对象),若有则注入,若无,再去@SessionModel中对应的valu
2017-08-21 11:44:26
337
原创 SpringMVC确定入参POJO的对象
前边我们讲了SpringMVC的概述、SpringMVC如何通过注解将前台页面的请求映射到处理方法中并将请求内容传入到目标方法的参数中、SpringMVC如何将模型数据放入到域对象中以便我们在目标页面获取。即SpringMVC是一个比Struts2优秀的WEB框架,它可以使用注解将一些普通的Java类编程控制器,还支持Rest(资源表现状态转换)风格的URL请求,以及它是一个可插拔的松散耦合结果,
2017-08-21 11:29:57
482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人