java
文章平均质量分 70
`moon`晓龙
keep studying...
展开
-
【Spring-MVC】搭建SpringMVC
3 搭建SpringMVC3.1 前提要求3.2 创建项目3.3 配置Spring配置文件3.3.1 基于XML配置文件3.3.2 基于Java配置文件3.4 配置web.xml3.4.1 基于XML配置3.4.2 基于Java类配置3.4 继承抽象类配置3.4.1 准备配置类3.4.2 继承SpringMVC抽象类3.5 书写Controller3.6 测试项目3 搭建SpringMVC3.1 前提要求因为我们使用的是Spring5.x版本,所以有以下的要求:JDK:最低为JDK8+原创 2021-06-07 19:30:40 · 2582 阅读 · 2 评论 -
【Spring-MVC】基础知识&&部分源码解析
前端控制器/中央处理器,它的本质其实一个servlet,用户所有的请求会被它拦截到以后进行对应的分发。其中最核心的方法就是里面的doService方法,下面是该方法的源码。 mvc是一种架构模式,视图层只去管理页面,model层只去管理业务逻辑,控制层就像是一个媒婆,来关联view层和model,它负责页面的跳转和调用model层。在FrameWorkServlet中,Spring重写了Servlet处理请求和响应的方法。对应的执行链,中央处理器将执行链发给。来执行对应的执行链,对应的。原创 2021-06-07 19:25:44 · 152 阅读 · 2 评论 -
JAVA-集合框架
原创 2021-01-19 22:31:49 · 96 阅读 · 2 评论 -
JAVA 开发《贪吃蛇》04-添加面板,运行游戏
将面板和窗口添加到Windos类中,并调用面板中蛇移动的方法。原创 2020-12-22 18:21:31 · 228 阅读 · 0 评论 -
JAVA 开发《贪吃蛇》03-绘制画板,实现键盘监听
【代码】JAVA 开发《贪吃蛇》03-绘制画板,实现键盘监听。原创 2020-12-22 18:20:22 · 391 阅读 · 0 评论 -
JAVA 开发《贪吃蛇》02-模型类
【代码】JAVA 开发《贪吃蛇》02-模型类。原创 2020-12-22 18:19:50 · 204 阅读 · 0 评论 -
JAVA 开发《贪吃蛇》01-窗口的绘制
【代码】JAVA 开发《贪吃蛇》01-窗口的绘制。原创 2020-12-22 18:19:14 · 411 阅读 · 0 评论 -
JAVA键盘输入和分支循环语句
1、new一个Scanner类2、使用Scanner类3、关闭键盘输入实例。原创 2020-12-10 16:50:00 · 222 阅读 · 0 评论 -
JAVA基本数据类型以及运算
变量:计算机里面用来存储可变数据的内存空间;原创 2020-12-09 00:33:25 · 727 阅读 · 0 评论 -
JAVA-IO流-File类
原创 2021-01-19 22:39:44 · 99 阅读 · 0 评论 -
【Spring-MVC】拦截器
文章目录17 拦截器17.1 SpringMVC的拦截器17.1.1 拦截器和过滤器区别17.1.2 单个拦截器流程17.1.3 多个拦截器流程17.2 实现拦截器类17.3 配置拦截器17.3.1 基于XML17.3.2 基于JavaConfig17.4 资源过滤问题17 拦截器在Servlet阶段学习过过滤器,那么这里的拦截器其实是和Servlet中的过滤器性质差不多,但是底层的实现是完全的不一样。17.1 SpringMVC的拦截器拦截器是SpringMVC框架中的一部分,它天然的在Sp原创 2021-07-11 16:13:31 · 223 阅读 · 1 评论 -
【Spring-MVC】文件上传
文章目录16 文件上传16.1 maven依赖16.2 配置文件上传16.2.1 基于xml16.2.2 基于JavaConfig16.3 编写Controller16.4 测试文件上传16 文件上传在SpringMVC中实现上传文件,首先我们需要导入一个工具包commons-fileupload16.1 maven依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId&g原创 2021-07-11 16:10:14 · 157 阅读 · 0 评论 -
【Spring-MVC】跨域问题
文章目录15 跨域问题15.1 不同的域15.2 同源策略15.3 解决方法15.3.1 CORS15.3.2 JSONP15.3.3 局部解决方案15.3.4 全局解决方法15.3.4.1 手写过滤器15.3.4.2 配置Spring配置文件15.3.4.3 配置JavaConfig15 跨域问题15.1 不同的域协议、域名、端口,三者只要有一个不同,就叫不同的域比如:从http:/moon.com/test去拉取下列url对应的资源URL是否跨域http:/moo原创 2021-07-11 16:06:52 · 1428 阅读 · 0 评论 -
【Spring-MVC】 Restful开发风格
文章目录14 Restful开发风格14.1 Rest概念14.2 Restful定义14.3 命名规范14.4 简单请求和非简单请求14.4.1 简单请求14.4.2 非简单请求14.4.3 区别14.4.4 解决问题14.5 Restful案例14.5.1 JS14.5.2 Java14 Restful开发风格14.1 Rest概念可以看作是ReST,Representional State Transfer,是一种理念,直接翻译过来就是表现层状态转换,其实就是一切资源都通过URL来识别和定位,原创 2021-07-11 16:05:44 · 151 阅读 · 0 评论 -
【Spring-MVC】 配置过滤器以及Json
文章目录12 配置过滤器12.1 在web.xml配置12.2 Java类配置13 Json数据13.1 简介13.2 结构13.3 Jackson13.3.1 导入依赖13.3.2 SpringMVC中的简单使用13.3.2.1 响应对象13.3.2.2 响应集合13.3.3 局部处理时间响应13.3.4 全局处理时间响应13.3.4.1 基于配置文件13.3.4.2 基于Java类12 配置过滤器在SpringMVC中我们依然可以使用过滤器来进行一些处理,我们可以像在Servlet阶段在web.x原创 2021-07-09 21:13:53 · 667 阅读 · 0 评论 -
【Spring-MVC】自定义Converters
自定义Converters文章目录自定义Converters11.1 什么是Converters11.2 编写日期转化器11.3 XML配置转化器11.4 Java类配置转化器11.1 什么是ConvertersContervers中文就是转化器的意思,在我们的SprinMVC中其实就是帮助我们转化数据的转化器,比如将String转化为int类型等等,在SpringMVC中为我们提供了大量的转换器。在SpringMVC中还提供了一种转化器:Formatter,使用它也是可以对数据进行转化的原创 2021-07-09 21:11:56 · 497 阅读 · 0 评论 -
【Spring-MVC】转发和重定向
转发和重定向10.1 转发10.2 重定向10.1 转发在SpringMVC中默认的就是转发,在我们使用ModelAndView或者是直接return字符串时,其实就是默认走的转发我们也可以显式的访问路径的前面加上forward:,这样的方式也是会去走一个转发的注意:我们如果使用默认的方式进行转发的话,我们的路径是会去拼接视图解析器的前缀和后缀。如果我们选择显式的完整的去进行使用转发,那么这时候视图解析器就不起作用原创 2021-06-17 23:23:05 · 537 阅读 · 0 评论 -
【Spring-MVC】视图解析器&&整合Freemarker
8.1 配置文件8.2 Java配置文件9 整合Freemarker模版引擎9.1 导入依赖9.2 XML配置文件9.3 Java配置文件9.4 测试8 视图解析器我们可以使用视图解析器来对我们访问的一个url进行优化SpringMVC默认为我们提供了一套视图解析器InternalResourceViewResolver,该视图解析器默认是支持JSP的,我们也可以去使用其他的模版引擎8.1 配置文件<!--配置视图解析器--><bean class原创 2021-06-17 23:19:07 · 362 阅读 · 0 评论 -
【Spring-MVC】响应和数据模型
@ResponseBody直接响应数据,不涉及到视图可以返回标准的字符串和结构化数据(XML/JSON)会被StringHttpMessageConverter影响7.2 数据模型SpringMVC提供的在特定作用域内封装数据的组件7.2.1 Model我们可以通过Model对象来绑定参数,返回的字符串就是viewName,因为我们没有加@ResponseBodyModel是一个接口,它的实现类是ExtendedModelMap,该原创 2021-06-17 23:16:51 · 108 阅读 · 0 评论 -
【Spring-MVC】解决中文乱码
SpringMVC--05 解决中文乱码6.1 产生的原因6.2 乱码分类6.2.1 请求乱码6.2.2 响应乱码6.1 产生的原因因为默认的字符集是ISO-8859-1,属于西欧字符集,包含英文,数字,符号还有拉丁文。所以解决中文乱码的核心解决方案就是将ISO-8859-1改为UTF-86.2 乱码分类6.2.1 请求乱码GET请求乱码如果Tomcat版本是8.0以上的版本,那么就不存在GET请求乱码如果Tomcat版本低的话,则需要原创 2021-06-17 23:05:58 · 438 阅读 · 0 评论 -
【Spring-MVC】获取请求参数
SpringMVC--04获取请求参数5.1 直接获取5.2 绑定获取5.5 获取多个参数5.4 map获取5.5 对象获取5.6 Restful风格获取参数5.7 关联对象的接收5.8 获得时间参数5.1 直接获取我们可以通过和前端的数据传递时的name来获取数据,SpringMVC会将数据名一样的数据帮我们转化好,我们只需要在参数列表中加上对应的名字的数据即可Jsp:<%@ page contentType="text/html;chars原创 2021-06-17 23:03:44 · 319 阅读 · 1 评论 -
【Spring-MVC】SpringMVC中的注解
SpringMVC中的注解文章目录SpringMVC中的注解4.1 路径请求的注解4.1.1 @RequestMapping4.1.2 @GetMapping4.1.3 @PostMapping4.1.4 @PutMapping4.1.5 @DeleteMapping4.1.6 @PatchMapping4.2 参数绑定的注解4.2.1 @RequestParam4.2.2 @PathVariable4.2.3 @RequestBody4.1 路径请求的注解4.1.1 @RequestMapping原创 2021-06-17 22:43:14 · 472 阅读 · 1 评论 -
【Spring-Jdbc】事务的传播和隔离
Spring的事务传播行为4.1 REQUIRED4.2 SUPPORTS4.3 MANDATORY4.4 REQUIRES_NEW4.5 NOT_SUPPORTED4.6 NEVER4.7 NESTED5 事务的隔离级别5.1 在使用事务常见的问题脏读不可重复读幻读5.2 isolation事务隔离级别4 Spring的事务传播行为名称说明PROPAGATION_REQUIRED(默认),如果当前存在事务,就加入;如果当前不存在事务,就新建一个事务。PROPAG原创 2021-06-01 21:45:18 · 150 阅读 · 0 评论 -
【Java动态代理】CGLIB DynamicProxy
动态代理—CGLIB DynamicProxyCGLIB是利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1 CGLIB和JDK的区别JDKCGLIB基于接口实现基于基础(目标类不能被final修饰)2 导入依赖<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <v原创 2021-05-29 21:35:07 · 109 阅读 · 0 评论 -
【Java动态代理】JDK DynamicProxy
动态代理—JDK DynamicProxy文章目录动态代理—JDK DynamicProxy1 概念2 实现动态代理2.1 前期准备entity类2.2 实现InvocationHandler接口2.3 书写动态代理工具类2.4 测试类2.5 结果3 测试动态代理底层是如何实现的3.1 动态代理是怎么实现的3.2 为什么JDK动态代理对象必须有接口?3.2.1 获得代理对象的class文件3.2.2 分析class文件1 概念代理的概念,在静态代理中已经有写到,那么理解了静态代理后,静态代理有什么弊原创 2021-05-24 01:30:04 · 825 阅读 · 0 评论 -
JAVA静态代理
Java静态代理文章目录Java静态代理1 概念2 java中的静态代理2.1 前期准备(entity)2.2 代理类2.3 测试类1 概念代理的意思,顾名思义就是让别人去帮忙做一些事情,在现实生活中也是处处都存在的代理。比如租房找的中介,买东西找的代购等等。在java的世界,代理也是同样的意思,一个类的方法执行后只用一个功能,那么我想去让功能更强大,或者增加其他功能的时候,这时候考虑到单一原则,而且尽量不去修改原代码,我们就会使用代理类。代理类就是在帮助我们实现原有的方法的时候,可以用额外的扩增原创 2021-05-23 16:49:08 · 1483 阅读 · 1 评论 -
【JavaWeb】SQL的P处理
SQL的P处理p处理就是一次执行多条sqlp处理可以通过Statement和prepareStatement来处理Statement:执行传入带有参数的sql,如果执行的行数过多,代码会比较臃肿,还会造成sql注入String s1=delete from t_music where id=1String s2=delete from t_music where id=2String s3=delete from t_music where id=3//将sql添加到批处理st.ad原创 2021-05-23 16:40:33 · 403 阅读 · 0 评论 -
【JavaWeb】Json详解
Json1、概念2、FastJson1、概念是一种数据的交换格式,也是一种数据的交换标准,主要用于浏览器和服务器之间的数据交互格式:{“属性名称”:属性值}比如我们希望把一个java对象传递给浏览器的js对象// java class Person{String name;int age;}// json{"name":"张三","age":22}对于嵌套的类的数据传输也是相当方便// javaclass Address{String city;原创 2021-05-23 16:39:16 · 136 阅读 · 0 评论 -
【JavaWeb】Ajax详解
1、什么是Ajax2、它能解决的问题3、XMLHTTPRequest对象4、实现Ajax4.1、获得xhr对象4.2、get方法发送4.3、post方法发送1、什么是AjaxAjax即Asynchronous Javascript And XML(异步JavaScript和XML),使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而 不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。2、它能解决的问题b/s建构:请求-响应 :在处理注册页原创 2021-05-23 16:38:11 · 137 阅读 · 0 评论 -
【JavaWeb】监听器
1、概念2、监听器接口3、实现监听器3.1 通过监听器实现对登陆的用户的计数3.2 通过监听器实现登出时对用户数据的移除1、概念servlet中的一组组件,用来监听servlet事件的响应处理主要监听request,session,上下文处理数据,请求响应,容器创建对象,删除对象2、监听器接口ServletRequestListener实现该接口的监听器,可以对每一次的请求进行监听ServletContextListener实现该接口的监听器,可以对上原创 2021-05-23 16:36:06 · 125 阅读 · 0 评论 -
【JavaWeb】文件上传
文件上传1、概念2、实现上传文件1、概念文件上传顾名思义就是把前端用户传入的文件可以上传到服务器,一般上传的文件保存有俩种方法,一种是直接以二进制文件存在数据库。还有就是将文件存在服务器的文件夹中如果直接将文件存在数据库,因为数据库的大小是有限制,所以不方便所以一般会采用把文件存在服务器上的某个路径2、实现上传文件实现上传文件,第一步需要在前端的form表单中设置enctype属性,将该属性设置为multipart/form-data表示该表单支持二进制的传输,然后在原创 2021-05-23 16:34:31 · 91 阅读 · 0 评论 -
【JavaWeb】过滤器Filter
1、概念2、案例1、概念过滤器可以拦截到指定的请求,对该请求拦截后可以进行对请求和响应进行操作,然后放行,可以自己去寻找对应的servlet或者其他过滤器。使用的业务场景:用户在客户端发送请求----> 拦截验证:是否为登陆的状态(session),如果是放行,不是的话跳转登陆。定义:servlet定义的一个web组件,用来拦截servlet请求,以便获取请求中的资源的参数,过滤的对象主要是客户端请求的web资源。优点:热插拔,随时用,随时也可以去掉,不会影原创 2021-05-22 21:17:10 · 132 阅读 · 0 评论 -
【JavaWeb】JSP详解
1、什么是JSP2、JSP指令3、EL表达式4、Jstl标签库5、Jstl标签库使用案例1、什么是JSPJSP(全称JavaServer Pages)是由Sun公司主导创建的一种 动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术 以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。Servl原创 2021-05-22 21:15:33 · 252 阅读 · 4 评论 -
【JavaWeb】状态管理
1、cookie2、cookie案例3、session概念:无状态: http协议就是无状态的,b/s架构是一次请求响应,完毕后就和服务器失去关系,下一次再重新建立,实际上 真实的业务场景不是这样的!登陆、请求、做一系列操作,都应该当做一个整体来看待,这一个 整体的数据交互过程,就可以称之为状态管理每一次请求响应之间是不能建立关联的比如理发店:去剪头发,理发店会发送优惠卷,下一次再去,理发店不记得你,但是看到优惠卷就会给你优惠,这张优惠卷就像是cookie还是去原创 2021-05-22 21:09:20 · 92 阅读 · 0 评论 -
【JavaWeb】servlet线程安全
1、抢占式调度原则2、解决servlet线程安全1、抢占式调度原则抢占式(Preemptive) 允许将逻辑上可继续运行的在运行过程暂停的调度方式 可防止单一进程长时间独占CPU 系统开销大(降低途径:硬件实现进程切换,或扩充主存以贮存大部分程序)比如上厕所有 三个人ABC,但是只有一个厕所,那么如何调度使用如果按照 计划调度,就会出现一个现象,A 的时间段 C想上厕所,但是在A的时间段,C只能等到自己的时间段,而A却一直没用厕所,这样就原创 2021-05-22 21:05:05 · 116 阅读 · 0 评论 -
【JavaWeb】上下文对象
1、什么是上下文对象2、上下文对象的常用方法3、上下文对象案例1、什么是上下文对象Web容器在启动以后,里面会有很多web的程序,容器会问每一个web程序创建一个队员的ServletConntext对象,这是一个全局变量,每个web程序都可以通过一些组件读取他,这样有助于数据的共享上下文对象是 服务器容器的全局变量,所有的servlet访问的上下文都是同一个,但是 当服务器关闭后,上下文对象消失获取上下文对象:// 获取本服务器的上下文对象ServletC原创 2021-05-22 21:02:20 · 1115 阅读 · 0 评论 -
【JavaWeb】转发和重定向
1、转发2、重定向3、俩者的异同1、转发请求转发就是将浏览器发送给服务器的响应 转发给其他的servlet或jsp,本质上 还是同一个请求,相当于 浏览器只访问了一次。如上图,浏览器只进行一次对服务器的请求,而在容器中,请求和响应被发送给其他的servlet转发的特点:转发是 一个请求响应,但是会涉及俩次,可以做 数据的共享转发的浏览器 地址不会发生变化由于 是一次请求和响应,所以 请求和响应会共享常用的方法:请求绑定数据request原创 2021-05-22 20:58:34 · 525 阅读 · 1 评论 -
【JavaWeb】servlet生命周期
1、容器何时实例化servlet2、初始化3、就绪4、销毁servlet的生命周期就是servlet的创建,对象如何分配,资源的准备,调用什么方法来进行处理,已经如何执行,销毁等1、容器何时实例化servlet当我们访问注册了的servlet后 会调用servlet的构造器 创建一个Servlet的实例这里就存在了一个 优先级的问题,谁先被实例?默认会在请求 调用的时候才实例化可以通过 设置loadOnStartup属性 来进行启原创 2021-05-22 20:52:28 · 111 阅读 · 0 评论 -
【JavaWeb】请求和响应
1、Servlet执行原理2、响应-Response3、Response案例4、请求-Request5、Request案例1、Servlet执行原理1、浏览器根据请求的地址(ip/协议/端口)建立与服务器的连接2、浏览器将请求数据打包3、容器将请求解析,封装成俩个对象 请求-HttpServletRequest – 封装的请求数据 响应-HttpServletResponse – 返回给服务器4、容器根据具体的请求地址—找到对应的servlet创建对象原创 2021-05-22 20:43:52 · 743 阅读 · 1 评论 -
【JavaWeb】servlet详解
1、什么是servlet2、什么是XML3、注册servlet4、设置默认访问页面5、常见的Http错误代码1、什么是servlet是sun公司为了扩展web服务器开发,提供的一组组件扩展: 早期的web服务器只能处理静态资源,servlet可以处理动态页面(数据处理,交互);组件: 软件模块的功能;容器: 组件需要运行到什么样的环境里面;书写servlet写一个类继承HttpServlet----基于Http协议publ原创 2021-05-22 17:21:42 · 147 阅读 · 0 评论