- 博客(48)
- 资源 (21)
- 问答 (2)
- 收藏
- 关注
原创 应用版本号没有更改的情况下在Docker中重新部署应用
前面第一个步骤和第二个步骤在应用版本号没有更改的情况下需要操作的步骤,假如版本号有更改的情况下是不需要执行前面两个步骤。
2025-05-06 08:30:35
206
原创 (十三)Spring教程——依赖注入之工厂方法注入
工厂方法是在应用中被经常使用的设计模式,它也是控制反转和单例设计思想的主要实现方法。由于Spring IoC容器以框架的方式提供工厂方法的功能,并以透明的方式开放给开发者,所以很少需要手工编写基于工厂方法的类。正是因为工厂方法已经成为底层设施的一部分,因此工厂方法对于实际编码的重要性就降低了。不过在一些遗留系统或第三方类库中,我们还是会遇到工厂方法,这时可以使用Spring工厂方法注入的方式进行配置。
2024-07-24 22:40:16
1525
2
原创 (十二)Spring教程——依赖注入之构造函数注入
构造函数注入是除属性注入外的另一种常用的注入方式,它保证一些必要的属性在Bean实例化时就得到设置,确保Bean在实例化后就可以使用。
2024-07-23 22:36:48
2049
原创 (十一)Spring教程——Bean基本配置与依赖注入之属性注入
在进行Bean配置的详细讲解之前,先来了解以下Bean配置的基础知识,以快速建立起Bean配置的初步概念。
2024-07-22 22:53:54
1233
原创 (十)Spring教程——Spring配置概述
在使用Spring所提供的各项丰富而神奇的功能之前,必须在Spring IoC容器中装配好Bean,并建立好Bean和Bean之间的关联关系。Spring的配置文件已经很精简了,但是广大的开发者希望它做得更好。Spring对这个进行了许多重大的改进,很多原来冗长的配置拥有了简洁的版本。此外,Spring还提供了多种配置方式,既可以选择一种配置,也可以同时使用多种配置。
2024-07-22 21:51:45
770
原创 (九)Spring教程——ApplicationContext中Bean的生命周期
ApplicationContext中Bean的生命周期和BeanFactory中的生命周期类似,不同的是,如果Bean实现了org.springframework.context.ApplicationContextAware接口,则会增加一个调用该接口方法setApplicationContext()的步骤。
2024-06-04 21:51:03
1274
1
原创 (八)Spring教程——BeanFactory中Bean的生命周期
我们知道Web容器中的Servlet拥有明确的生命周期,Spring容器中的Bean也拥有相似的生命周期。Bean生命周期由多个特定的生命阶段组成,每个生命阶段都允许对Bean施加控制。在Spring中,可以从两个层面定义Bean的生命周期:第一个层面是Bean的作用范围;第二个层面是实例化Bean时所经历的一系列阶段。下面分别对BeanFactory和ApplicationContext中Bean的生命周期进行分析。
2024-05-30 22:43:15
1177
原创 (七)Spring教程——Spring IoC容器(下)
从WebApplicationContext中可以获得ServletContext的引用,整个Web应用上下文对象将作为属性放置到ServletContext中,以便Web应用环境可以访问Spring应用上下文。Spring专门为此提供了一个工具类WebApplicationContextUtils,通过该类的getWebApplicationContext(ServletContext sc)方法,可以从ServletContext中获取WebApplicationContext实例。
2024-05-16 21:50:10
421
原创 (六)Spring教程——Spring IoC容器(中)
Spring支持基于类注解的配置方式,主要功能来自Spring的一个名为JavaConfig的子项目。一个标注为@Configuration注解的POJO即可提供Spring所需的Bean配置信息。在BeanFactory中,很多功能需要以编程的方式实现,而在ApplicationContext中则可以通过配置的方式实现。在java目录下增加一个新的Package“com.example.reflect”包,在该包中增加一个Beans配置类,该类的代码如下。运行该项目后的输出结构为。
2024-05-16 21:14:59
815
原创 一次tomcat闪退处理
可能是我昨天创建JAVA_HOME的时候忘记保存,只能去环境变量里面去加上。然后再双击该bat执行,此时窗口就不会关闭,并会将错误信息打印在提示框中。以记事本打开startup.bat文件,在文件的结尾处加上pause。双击tomcat目录下bin目录中startup.bat。在我的电脑上是一闪而过,不能正常地启动tomcat软件。加上后再双击startup.bat。Tomcat服务器就启动起来了。
2024-05-15 23:33:43
209
原创 (五)Spring教程——Spring IoC容器(上)
Spring框架提供的容器主要是基于BeanFactory和ApplicationContext两个接口,一种是实现BeanFactory接口的简单容器,另一种是实现ApplicationContext接口的高级容器。BeanFactory是比较传统的IoC实现方式,容器内的对象主动使用容器所提供的API来查找自己所依赖的组件。在com.example.servlet001包中添加名字为bean的软件包,然后在该包中添加User类,User类的内容如下。点击右侧的刷新按钮,下载添加的依赖。
2024-05-15 23:27:38
816
原创 (四)Spring教程——控制反转或依赖注入与Java的反射技术
反射技术很早就出现了,初期的反射编程速度相对于传统对象生成速度至少要慢10倍,目前的反射技术经过优化,反射方式生成对象和传统对象生成方式的速度相差不大,大约有1~2被的差距。反射的应用是很广泛的,很多成熟的框架都离不开反射技术,比如Java中的Hibernate、Spring框架。为了让大家了解依赖注入的基础,示例展示了使用Java实现的一个反射应用:通过Class类来实现类的定义,通过Field来获取类的属性,通过Method类来获取方法,并通过invoke来调用方法,设置类的某个属性。
2024-05-14 22:20:09
820
原创 (三)Spring教程——依赖注入与控制反转
Spring有两个重要的接口:BeanFactory和ApplicationContext,所谓的容器就是实现了BeanFactory接口或者是ApplicationContext接口的类的实例,BeanFactory是最顶层、最基本的接口,它描述了容器需要实现的最基本的功能,比如对象的注册、获取等。在编写传统的Java应用代码时,我们一般是直接在对象内部通过new来创建对象,让程序主动去创建依赖对象,这就是一个“谁使用,谁创建”的过程,创建依赖对象的主动权和创建时机都是由自己来把控。
2024-05-14 21:51:30
692
原创 (二)Spring教程——Spring框架特点
Spring框架是为了简化企业级应用开发而创建的,其强大之处在于对Java SE和Java EE开发进行全方位的简化,Spring还对常用的功能进行封装,可以极大地提高Java EE的开发效率。Spring的应用极其广泛,无论是服务器开发还是任何Java应用开发,都可以看到Spring框架的影子。
2024-05-13 22:59:00
411
原创 (一)Spring教程——Spring框架简介
Spring框架是Java平台的一个开源的全栈应用程序框架,一般被称作Spring。Spring框架的核心特性是依赖注入(DI)与面向切面的编程(AOP),Spring可以看成是一个控制反转的容器。Spring框架由20多个模块组成。这些模块可以分成几个大的层次:核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具和测试等。开发人员可以根据需要选择相应模块进行使用,模块化的结构很容易与其他框架一起集成使用。
2024-05-13 22:29:56
2354
原创 (十二)JSP教程——exception对象
exception对象用来发现、捕获和处理JSP页面中的异常,是JSP文件运行时产生的异常对象。如果要使用它,必须将对应的JSP的page指令的isErrorPage属性设置为ture,即:。JSP文件在运行中有异常现象发生时,如果定义了相应的异常处理页,则由异常处理页来处理异常;否则,由服务器来处理异常。我们可以通过下面的实例来说明exception对象的具体使用方法。然后创建一个异常处理的error.jsp页面,页面的代码如下。
2024-05-11 22:05:10
555
原创 (十一)JSP教程——page对象
page对象用来处理当前请求的JSP页面的实现类的实例,相当于Java类中的this,这个对象在JSP中应用并不是很多。out.println("page对象转换成字符串为:"+page.toString()+"");out.println("page对象的哈希码值是:"+page.hashCode()+"");out.println("当前JSP文件的类是:"+page.getClass()+"");//输出java语句。
2024-05-11 21:54:14
303
原创 (十)JSP教程——config对象
config对象可以读取一些初始化参数的值,而这些参数一般在web.xml配置文件中可以看到,并通过config对象的相应方法来读取参数。config对象是脚本程序配置对象,表示当前JSP页面的配置信息。由于JSP页面通常无需配置,因此该对象在JSP页面中比较少见。该配置文件中配置了一个对应的参数,并对其进行赋值,最后将该Servlet映射到/index.jsp处。然后在Web项目下找到web.xml配置文件,配置文件位置如下图所示。可以看到在Web.xml中没有设置的话,该初始参数的值就为null。
2024-05-10 22:23:23
511
原创 (九)JSP教程——pageContext对象
getAttributesScope方法判断出相应的参数与哪一个JSP对象绑定在一起,该方法返回的值为整型常数。其中,1对应page生存范围;4对应application生存范围。pageContext对象是由JSP容器创建并初始化的,相当于当前页面的容器,它可以访问当前页面中的所有对象。它的主要作用是为JSP页面包装上下文,并用于管理属于JSP的特殊可见部分中已命名对象的访问。一般情况下,使用该对象的应用并不多,只在一些复杂的情况下,才会使用该对象进行辅助处理。下面通过实例来说明该对象的使用方法。
2024-05-10 22:18:21
733
原创 (八)JSP教程——application对象
application对象是一个比较重要的对象,服务器在启动后就会产生这个application对象,所有连接到服务器的客户端application对象都是相同的,所有的客户端共享这个内置的application对象,直到服务器关闭为止。out.println("您是第" + application.getAttribute("counter") + "位访问者!out.println("当前Web服务器的版本信息:" + application.getServerInfo() + "<br>");
2024-05-09 22:23:56
625
原创 (七)JSP教程——session对象
out.println("session的生存时间:" + session.getMaxInactiveInterval() + "<br>");out.println("session对象的创建时间:" + session.getCreationTime() + "毫秒<br>");out.println("该session对象是否是创建的:" + session.isNew() + "<br>");out.println("您的用户名:" + uName + "<br>");
2024-05-09 22:21:45
885
原创 (六)JSP教程——out对象
out对象是在JSP中经常使用到的对象,它本质上是一个输出流,前面已经多次使用,我们经常使用它的print()和println()方法,这些方法主要用于实现客户端数据的输出。通过out对象也可以直接向客户端发送一个由程序动态生成的HTML文件。
2024-05-08 22:47:43
1106
原创 (五)JSP教程——response对象
例如,客户端用户通过表单向服务器提交信息,request对象获取用户信息,然后接收信息并进行处理,并将结果用response对象返回给用户的浏览器。首先,我们使用response对象来设置HTTP的一个重要头信息:刷新,实例功能是每隔一秒对当前页面进行一次刷新,实现时钟的作用,其代码如下。密 码: <input type="password" name="password"/> <br> <br>用户名: <input type="text" name="username"/> <br> <br>
2024-05-08 22:21:56
1617
原创 (四)JSP教程——request内置对象
request对象是将客户端浏览器数据提交给服务器端JSP页面的唯一数据通道,通过该通道JSP页面能够获取浏览器信息、form表单信息、URL参数信息等。
2024-05-07 22:17:44
1496
原创 (三)JSP教程——JSP动作标签
JSP动作标签用户可以使用JSP动作标签向当前输出流输出数据,进行页面定向,也可以通过动作标签使用、修改和创建对象。
2024-05-07 21:05:24
2789
原创 (二)JSP教程——taglib指令
JSP页面使用tag标记前,必须使用tablib指令引入该web目录下的标记库,然后JSP才能调用响应的tag文件。在tags文件夹中创建一个oddNumberSum.tag文件,Tag文件时扩展名为.tag的文本文件,其结构和JSP文件非常相似,该文件的目录结构如图所示。实际的使用:<%@taglib tagdir='/WEB-INF/tags' prefix='computer'%>oddNumberSum.tag文件的内容,这里实现一个简单的tag文件,实现计算100以内奇数的和。
2024-05-06 22:06:45
1345
2
原创 yarn的安装和使用
上图所示位置的就是下载最新版本长期支持版的位置,一般项目中可能用不上这么高的版本,需要点击download链接去找之前的版本。如下图所示,选择v18版本就可以下载对应版本的长期支持版。首先在浏览器中打开该链接:https://code.visualstudio.com/完成node js的安装后再在visual studio code中安装npm。然后在visual studio code中就可以使用yarn命令了。打开该链接后的显示如下图所示。选择下载如下图所示的版本。
2024-05-06 17:32:40
483
原创 (一)JSP教程——JSP脚本标签
JSP 脚本会把包含的内容转译插入到 Servlet 的 service() 方法中,也就是 中定义的变量是局部变量。这也是 JSP 脚本不能声明方法的原因,因为 Java 不允许方法中嵌套方法。%> 中定义的变量是成员变量,方法是成员方法。或者在JSP页面中使用,然后在该标记中间书写Java代码;
2024-05-03 09:57:51
1265
1
原创 (十五)Servlet教程——Servlet文件上传
在该表单中普通的表单项使用type=”text”,附件类型的表单项使用type=”file”。不要忘了设置表单元素的name属性,表单提交一定要设置表单元素的name属性,否则后台无法接收数据。(4) 使用标签上传单个文件,属性type设置为file,上传多个文件需要添加多个input标签。(3) 表单action属性应设置为对应的Servlet,Servlet包含处理上传文件的代码。在“姓名”输入框中输入测试文本,并选择一个文件进行上传,在下图所示路径下可以看到上传的文件。
2024-04-30 21:55:02
1198
1
原创 (十四)Servlet教程——Servlet中HttpSession的使用
如果找到了相应的session对象,则认为是之前标志过的一次会话,返回该session对象,数据达到共享。这里提到一个叫做JSESSIONID的cookie,这是一个比较特殊的cookie,当用户请求服务器时,如果访问了session,则服务器会创建一个名为JSESSIONID,值为获取到的session的sessionid的cookie对象,并添加到response对象中,响应给客户端,有效时间为关闭浏览器。用户访问服务器一次,无论是否读写Session,服务器都认为该用户的Session活跃了一次。
2024-04-30 21:49:28
1381
2
原创 (十一)Servlet教程——Request请求转发
1.Web应用在处理客户端的请求的时候,一般的时候都需要多个资源协同处理,比如先经过一个Servlet的处理,然后再经过另外一个Servlet的处理。但是在一个Servlet中又不能直接调用另外一个Servlet的service方法,所以Servlet就提供了请求转发解决方案。② 请求转发之后,浏览器地址栏中的 URL 不会发生变化,因此浏览器不知道在服务器内部发生了转发行为,更无法得知转发的次数。2.这里省略掉创建Java Web项目以及创建包的步骤,直接在原来创建好的项目中直接创建Servlet。
2024-04-28 22:20:43
895
原创 (十)Servlet教程——HttpServletRequest接口
对象包含了客户端请求信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在其内。
2024-04-28 22:13:55
2940
原创 (七)Servlet教程——Idea编辑器集成Tomcat
5. 选择Tomcat主目录,Tomcat主目录为bin目录的上级目录,选择完Tomcat主目录后,Tomcat基目录会自动设置好,然后点击“确定”按钮。1. 点击桌面上Idea快捷方式打开Idea编辑器,假如没有创建项目的话打开Idea编辑器后的界面展示如下图所示。3. 然后点击界面中的“所有设置...”,然后点击“构建、执行、部署”,选择其中的“应用程序服务器”4. 点击“+”按钮,选择Tomcat服务器。这样Idea的Tomcat就设置好了。然后点击“应用”和“确定”按钮。
2024-04-24 22:02:44
868
原创 (六)Servlet教程——JSP与Servlet的关系
不过,如果JSP文件能毫无变化地重复使用,它在第一次以后的调用中运行速度就会和Servlet一样了,这是因为JSP Container接到请求以后会确认传递过来的JSP是否有改动,如果没有改动的话,将直接调用JSP编译过的Servlet类,并提供给客户端解释执行,如果JSP文件有所改变,JSP Container将重新将它编译成Servlet,然后再提交给客户端。JSP是由Servlet技术发展起来的,具备Servlet的功能,但是将生成的内容与显示分离比Servlet优化,更简单易用。
2024-04-24 21:50:15
810
4
原创 (五)Servlet教程——Servlet是什么
Servlet基础介绍,介绍Servlet的基本结构,Servlet运行机制,Servlet工作过程
2024-04-24 21:41:44
1086
javascript apply的使用
2016-06-24
oracle sql查询语句优化
2016-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人