09 2018 档案
摘要:【什么是Ajax?】 1.Ajax技术的产生 --Ajax被认为是(Asynchronous JavaScript and XML 的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。 Web的传统模型中,客户端向服务器发送一个请求,服务器返回整个页面,如此反复。 在Aj
阅读全文
摘要:【步骤】 Maven插件的设置: ①installations:指定Maven核心程序的位置。不建议使用Maven插件自带的Maven程序,而应该使用我们自己解压的那个。 ②user settings:指定conf/settings.xml的位置,进而获取本地仓库的位置。
阅读全文
摘要:【生命周期】 Maven 生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven 就可以自动化的执行构建命令了。 ①Clean Lifecycle 在进行真正的构建之前进行一些清理工作。 ②Default Lifecycle 构建核心部分,编译,测试,打包,安装,部署等等。 ③Site Li
阅读全文
摘要:【依赖】 Maven 中最关键的部分,我们使用 Maven 最主要的就是使用它的依赖管理功能。要理解和掌握 Maven的依赖管理,我们只需要解决一下几个问题: 当 A jar 包用到了 B jar 包中的某些类时,A 就对 B 产生了依赖,这是概念上的描述。那么如何在项目中以依赖的方式引入一个我们需
阅读全文
摘要:【仓库】 (1)本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有的Maven工程服务。 (2)远程仓库: ①私服:搭建在局域网环境中,为局域网范围内的所有Maven工程服务。 ②中央仓库:架设在Internet上,为全世界所有Maven工程服务。 ③中央仓库镜像:架设在各大洲,为中央仓库分担流量
阅读全文
摘要:【坐标】 使用如下三个向量在 Maven 的仓库中唯一的确定一个 Maven 工程。 [1]groupid:公司或组织的域名倒序+当前项目名称 <groupid>com.hk.maven</groupid> [2]artifactId:当前项目的模块名称 <artifactid>Hello<arti
阅读全文
摘要:【POM】 1.含义:Project Object Model 项目对象模型 DOM Document Object Model文档对象模型 2.pom.xml对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置。 重要程序相当于web.xml对于动态Web工程。 3.将
阅读全文
摘要:【第一个Maven工程】 ①目录结构 Hello | src | | main | | | java | | | resources | | test | | | java | | | resources | pom.xml ②POM文件内容 ③编写主程序代码 在src/main/java/com/
阅读全文
摘要:【Maven 核心概念】 Maven 能够实现自动化构建是和它的内部原理分不开的,这里我们从 Maven 的九个核心概念入手,看看 Maven 是如何实现自动化构建的。 ①POM②约定的目录结构③坐标④依赖⑤仓库⑥生命周期⑦插件和目标⑧继承⑨聚合 【第一个Maven工程】 ①创建约定的目录结构 [1
阅读全文
摘要:【构建过程的几个主要环节】 ①清理:删除以前的编译结果,为重新编译做好准备。 ②编译:将 Java 源程序编译为字节码文件。 ③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。 ④报告:在每一次测试后以标准的格式记录和展示测试结果。 ⑤打包:将一个包含诸多文件的工程封装为一
阅读全文
摘要:首先,创建一动态web工程。 Src 源码目录 build文件夹在java结构下看不出,但可以在Navigator下可以看出是个源码目录,如下图: 以下图中是运行时环境。 它其实是一组jar包的引用,并没有把jar包本身复制到工程中,所以并不是目录。
阅读全文
摘要:【Maven 简介】 Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。 Make-》Ant-》Maven-》Gradle 【什么是构建】 构建并不是创建,创建一个工程并不等于构建一个项目。
阅读全文
摘要:1.真的需要吗? Maven 是干什么用的?这是很多同学在刚开始接触 Maven 时最大的问题。之所以会提出这个问题,是因为即使不使用 Maven 我们仍然可以进行 B/S 结构项目的开发。从表述层、业务逻辑层到持久化层再到数据库都有成熟的解决方案——不使用 Maven 我们一样可以开发项目啊? 这
阅读全文
摘要:【什么是Maven】 Maven是一个实现自动化构建的工具软件。 【自动化构建】 构建:构建不是简单的创建一个项目。所谓构建是指执行清理、编译、打包、部署等一系列的操作的过程。 自动化构建:所谓自动化构建是指应用工具软件实现构建的过程。构建过程由软件来完成。 【基本概念】 约定的目录结构 :Mave
阅读全文
摘要:【认证】 也就是登录。 1.获取当前的subject,调用SecurityUtils.getSubject() 2.测试当前的用户是否已经被认证,即是否登录。调用subject的isAuthenticated()。 3.若没有被认证,则把用户名和密码封装成UsernamePasswordToken对
阅读全文
摘要:【部分细节】 1.[urls] 部分的配置,其格式是:“url=拦截器[参数],拦截器[参数]”; 2.如果当前请求的URL匹配 [urls] 部分的某个url模式,将会执行其配置的拦截器。 3.anon(anonymous)拦截器表示匿名访问(即不需要登录即可访问)。 4.authc(authen
阅读全文
摘要:【REST】 1.REST:即Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以得到越来越多网站的采用。 2.资源(Resources):网络上的一个实体,或者说是网络上的一个具体信
阅读全文
摘要:【思维导图】 【创建和启动】 (1)方法一:继承Thread类创建线程类 步骤: (i)定义Thread子类,并重写该类的run()方法。(PS:该run()方法的方法体就代表了线程需要完成的任务。因此run()方法也称为线程执行体) (ii)创建Thread子类的实例。即创建了线程的对象。 (ii
阅读全文
摘要:【@PathVariable 映射URL绑定的占位符】 1.带占位符的URL是Spring 3.0 新增的功能,该功能在Spring MVC向 REST 目标挺进发展过程中具有里程碑的意义。 2.通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}
阅读全文
摘要:【使用@RequestMapping映射请求】 【Ant风格资源地址支持3种匹配符】 (1)? :匹配文件名中的一个字符。 (2) * :匹配文件名中的任意字符。 (3) ** :**匹配多层路径。 【@Request有Mapping还支持Ant风格的URL】 (1)/user/*/createUs
阅读全文
摘要:params和headers支持简单的表达式: --param1:表示请求必须包含名为param1的请求参数。 --!param1:表示请求不能包含名为param1的请求参数。 --param1 != value1:表示请求包含名为param1的参数,但其值不能为value1. --{“param1
阅读全文
摘要:【映射请求参数、请求方法或请求头】 1.@RequestMapping 除了可以使用请求URL 映射请求外,还可以使用请求方法、请求参数及请求头映射请求。 2.@RequestMapping 的value、method、params及heads分别表示请求URL、请求方法、请求参数及请求头的映射条件
阅读全文
摘要:【使用RequestMapping映射请求】 1.Spring MVC使用 @RequestMapping 注解为控制器指定可以处理哪些URL请求。 2.在控制器的类定义及方法定义处都可以标注。 @RequestMapping --类定义处:提供初步的请求映射信息。相对于WEB应用的根目录。 --方
阅读全文
摘要:示例: applicationContext-xml.xml: 注:重点在代码里。 VlidationAspect.java: LoggingAspect.java: ArithmeticCalculator.java: ArithmeticCalculatorImpl.java: 运行结果:
阅读全文
摘要:【Hello World】 步骤: (1)加入jar包, (2)在web.xml中配置DispatcherServlet, (3)加入Spring MVC的配置文件, (4)编写处理请求的处理器,并标识为处理器 (5)编写视图 (1) (2) web.xml: (3) springmvc.xml:
阅读全文
摘要:1.定义一个方法,用于声明切入点表达式,一般该方法中再不需要加入其它代码。 2.然后使用@Pointcut来声明切入点表达式。 3.后面的其他通知直接使用方法名来引用当前的切入点表达式。 2.如果要在同包不同类中的方法中用切点表达式,如下: 3.如果要是在不同包中的类中使用,还需要在前面添加包名。
阅读全文
摘要:1.Spring 为展现层提供基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一。 2.Spring 3.0后全面超越Struts2,成为最优秀的MVC框架。 3.Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口。 4.支持REST风格的UR
阅读全文
摘要:1.DelegatingFilterProxy实际上是Filter的一个代理对象。默认情况下,Spring会到IOC容器中查找与<filter-name>对应的filter bean。也可以通过targetBeanName的初始化参数来配置bean的id。 2.配置shiroFilter --id必
阅读全文
摘要:【与Web集成】 1.Shiro 提供了与 Web 集成的支持,其通过一个ShiroFilter 入口来拦截需要安全控制的URL,然后进行相应的控制。 2.ShiroFilter 类似于如 Strut2/SpringMVC 这种web 框架的前端控制器,是安全控制的入口点,其负责读取配置(如ini
阅读全文
摘要:1.可以使用@Order注解指定切面的优先级,值越小优先级越高 示例: VlidationAspect.java: Main.java: 运行结果: 由结果可以看出,验证切面优先于日志切面。
阅读全文
摘要:1.加入Spring 和 shiro 的jar包 2.配置Spring及SpringMVC 3.参照:Apache Shiro\shiro-root-1.2.3-source-release\shiro-root-1.2.3\samples\spring配置web.xml文件和Spring的配置文件
阅读全文
摘要:【HelloWorld Shiro】 1.搭建开发环境-加入jar包 2.步骤(前提:已下载好Shiro资源包): ①找到shiro-root-1.2.3-source-release包, ②按Apache Shiro\shiro-root-1.2.3-source-release\shiro-ro
阅读全文
摘要:【返回通知】 LoggingAspect.java: Main.java: 运行结果: 【异常通知】 1.只在连接点抛出异常时才执行异常通知。 2.将Throwing属性添加到@AfterThrowing注解中,也可以访问连接点抛出的异常。Throwable是所有错误和异常类的超类。所以在异常通知方
阅读全文
摘要:【后置通知】 1.后置通知是在连接点完成之后执行的,即连接点返回结果或者抛出异常的时候,下面的后置通知记录了方法的终止。 2、一个切面可以包括一个或者多个通知。 示例: LoggingAspect.java: Main.java: 运行结果: 假如将Main.java中的div方法中的第二个参数改为
阅读全文
摘要:【Spring AOP】 1.AspectJ:Java社区里最完整最流行的AOP框架。 2.在Spring2.0 以上的版本中,可以使用基于AspectJ注解或基于XML配置的AOP。 【在Spring中启用AspectJ注解支持】 1.要在Spring应用中使用AspectJ注解,必须在class
阅读全文
摘要:【Why AOP ?】 1.代码混乱:越来越多的非业务需求(日志和验证等)加入后,原有的业务方法急剧膨胀。每个方法在处理核心逻辑的同时还必须兼顾其他多个关注点。 2.代码分散:以日志需求为例,知识为了满足这个单一需求,就不得不在多个模块(方法)里多次重复相同的日志代码。如果日志需求发生变化,必须修改
阅读全文
摘要:Spring 4.x的新特性 1.结构 BaseRepository.java: BaseService.java: User.java: UserRepository.java: UserService.java: Main.java: 运行结果:
阅读全文
摘要:问:怎么用注解来配置bean与bean之间的引用关系? 【组件装配】 1.<context:component-scan> 元素还会自动注册AutowiredAnnotationBeanPostProcessor实例,该实例可以自动装配具有@autowired和@Resource、@Inject注解
阅读全文
摘要:【在classpath中扫描组件】 1.组件扫描(component scanning):Spring 能够从classpath下自动扫描,侦测和实例化具有特定注解的组件。 2.特定组件包括: --@Component:基本注解,标识了一个受Spring管理的组件。 --@Respository:标
阅读全文
摘要:1.Apache Shiro是Java的一个安全(权限)框架。 2.Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。 3.Shiro可以完成:认证、授权、加密、会话管理、与WEB集成、缓存等。 4.下载:http://shiro.apache.
阅读全文
摘要:这个FactoryBean是Spring提供的,它有三个方法(如下): 其中,getObject():返回Bean本身; getObjectType():返回Bean的实例; isSingleton():返回这个Bean是不是单例的。 beans-beanfactory.xml: CarFactor
阅读全文
摘要:【工厂方法(静态工厂方法&实例工厂方法)】 【通过调用静态工厂方法创建Bean】 1.调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中。当客户端需要对象时,只需要简单地调用静态方法,而不用关心创建对象的细节。 2.要声明通过静态方法创建的Bean,需要在Bean的class属性里指定拥
阅读全文
摘要:【方法重载】 1.概述:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 2.特点:与返回值类型无关,只看方法名和参数列表。在调用时,虚拟机通过参数列表的不同来区分同名方法。 【数组】 1.概念 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。 数组既
阅读全文
摘要:【常用DOS命令】 d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make directory) : 创建目录 rd (remove directory): 删除目录 cd (change directory):改变指定目录(进入指定目录) cd.. :
阅读全文
摘要:【IOC容器中Bean的生命周期方法】 1.SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务。 2.Spring IOC容器对Bean的生命周期进行管理的过程: --通过构造器或工厂方法创建Bean实例 --为Bean的属性设置值和对其他Be
阅读全文
摘要:1、Spring表达式语言(简称:SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。 2、语法类似于EL:SpEL使用#{...}作为定界符,所有在大括号内的字符都被认为是SpEL。 3、SpEL为bean的属性进行动态赋值提供了便利。 4、通过SpEL可以实现: --通过bean的i
阅读全文
摘要:1.在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息(如:文件路径,数据源配置信息等)。而这些部署细节实际上需要和Bean配置相分离。 2.Spring提供了一个PropertyPlacehoiderConfigurer的BeanFactory后置处理器,这个处理器允许用
阅读全文
摘要:【Bean的作用域:singleton;prototype;WEB环境作用域】 【singleton】 beans-scope.xml: Main.java: 运行结果: 注释掉测试方法中的4,5,6行代码: Main.java: 运行结果: 说明:在我们创建容器的时候,这个bean已经被初始化好了
阅读全文
摘要:Bean之间的关系:继承;依赖 【继承Bean的配置】 1.Spring允许继承bean的配置,被继承的bean称为父bean。继承这个父bean的Bean称为子bean。 2.子Bean从父Bean中继承配置,包括Bean的属性配置。 3.子Bean也可以覆盖从父Bean继承过来的配置。 /spr
阅读全文
摘要:项目:primary 完成功能:用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在响应页面中显示该信息。 (1)导入jar包 在创建好web项目后,首先导入jar包。SpringMVC需要的基本jar包,是在原Spring的jar包的基础上增加了两个jar包: --Spring
阅读全文
摘要:【简介】 Spring MVC也叫Spring web mvc,属于表现层的框架。SpringMVC是Spring框架的一部分,是在Spring 3.0后发布的。 由以上Spring的结构图可以看出,Spring由四大部分组成:Dao部分(DAO与ORM)、AOP部分、Web部分(JEE与Web)及
阅读全文
摘要:第一步:到http://spring.io/tools/sts/all/上下载对应版本。(此处以博主Windows64位系统为例) 第二步: 进入eclipse,依次点击help-->Install New Software 第三步:点击Add 第四步:会出现以上弹框,点击红框按钮,找到此软件的压缩
阅读全文
摘要:【XML配置里的Bean自动装配】 1.Spring IOC容器可以自动装配Bean。需要做的就是仅仅在<bean>的autowire属性里指定自动装配的模式。 --byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的Bean。在这种情况下,Spring将无法判断哪个Bea
阅读全文
摘要:类和成员对象 【定义类】 (1)两个重要概念: 类(class):类是某一批对象的抽象,可以把类理解成某一种概念。 对象(object,也被称为实例,instance):对象才是一个实际存在的实体。 (2)定义类的简单语法: [修饰符] class 类名{ 零到多个构造器定义。。 零到多个成员变量。
阅读全文
摘要:1.【属性值注入还可以用value节点进行注入】 2.【字面值】 (1)字面值:可用字符串表示的值,可以通过<value>元素标签或value属性进行注入。 (2)基本数据类型及其封装类、String等类型都可以采取字面值注入的方式。 (3)若字面值中包含特殊字符,可以使用<![CDATA[]]>把
阅读全文
摘要:【bean配置】 在XML文件中通过bean节点来配置bean id:bean的名称。 --在IOC容器中必须是唯一的。 --若id没有指定,Spring自动将对应类名作为bean的名字。 --id可以指定多个名字,名字之间可用逗号,分号,或空格分隔。 【注】: 当bean中不存在无参构造器,存在有
阅读全文
摘要:【概述】 1.IOC(Inversion of Control): 即“反转控制”,不是什么技术,而是一种设计思想。其思想是反转资源获取的方向。 传统的资源查找方式要求组件向容器发起请求查找资源。作为回应,容器适时地返回资源。 而在应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要
阅读全文
摘要:【Spring是什么?】 1.Spring是一个开源框架。 2.Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB(EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在
阅读全文
摘要:【题目】 有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 例如,数组为[4,3,5,4,3,3,6,7],窗口大小为3时: [4,3,5],4,3,3,6,7 窗口最大值:5 4,[3,5,4],3,3,6,7 窗口最大值:5 4,3,[5,4
阅读全文
摘要:【题目】 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序? 【解答】 【运行结果】
阅读全文
摘要:【题目】 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他的数据结构。 【解答】 首先分为两步。第一步,得到栈底元素并移除这个栈底元素;第二步,将得到的栈底
阅读全文
摘要:【题目】 编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。 【解答】 栈的特点是先进后出,而队列的特点是先进先出。我们用两个栈正好能把顺序反过来实现类似队列的操作。 具体实现上,是把一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush;另一个栈只作
阅读全文
摘要:【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 【要求】 1.pop、push、getMin()操作的时间复杂度都是O(1)。 2.设计的栈类型可以使用现成的栈结构。 【解答】 在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的
阅读全文

浙公网安备 33010602011771号