
JAVA WEB笔记
snow_7
想当个花瓶的程序媛
展开
-
IDEA "Library source does not match the bytecode for class"问题
Jar包更新后,报错信息:"Library source does not match the bytecode for class"发现Jar内容还是旧版本的。点击 File -> Invalidate Caches and Restart后解决原创 2020-01-13 15:13:41 · 2760 阅读 · 0 评论 -
Maven 打包 package install deploy 命令的含义和区别
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。package命令:完成项目编译、单元测试、打包功能,但打包文件未部署到本地Maven仓库和远程Maven仓库。mvn clean install依次执行了clean、resources、compile、...原创 2019-10-25 16:02:11 · 402 阅读 · 0 评论 -
Spring4笔记----为什么要使用AOP
希望实现;一:在程序执行期间追踪正在发生的活动二:希望计算器值处理整数的计算;要实现以上要求:我们可以在调用方法的前后对正在发生的活动进行追踪,代码:(1)运算的接口package com.spring.aop;public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, in原创 2016-07-30 10:34:16 · 463 阅读 · 0 评论 -
Spring4笔记----动态代理
代理设计模式的原理: 使用一个代理将对象包装起来,然后用该代理对象取代原始对象.任何对原始对象的调用都要通过代理.代理对象决定是否以及何时将方法调用转到原始对象上.也就是说在调用原对象的方法的前面和后面,可以加上要实现的追踪代码。这样就解决了原来代码的分散和混乱。使业务逻辑只关心业务。代码:package com.spring.aop;import java.lang.原创 2016-07-30 10:59:21 · 465 阅读 · 0 评论 -
Spring4笔记----AOP概述
一、 上图中每一个运算模块。横向来看都有验证参数,前置日志,后置日志。如果每个模块都自己去实现这些功能不仅使代码混乱,也造成代码繁重冗余。而且每个业务模块不能仅仅只关注自身的业务逻辑实现。二、AOP的一些概念解释:(1)切面(Aspect) 横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象(2)通知(Advice): 切面必须要完成的工作目标(T原创 2016-07-30 11:41:51 · 446 阅读 · 0 评论 -
String4笔记----AOP的前置通知和后置通知
Spring的AOP(1)引入AOP的相关jar包com.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopalliance-1.0.0.jarcom.springsource.org.aspectj.weaver-1.6.8.RELEASE.jarspring-aspects-4.0.0.RELEASE.jar原创 2016-07-30 13:47:37 · 924 阅读 · 0 评论 -
Spring4笔记----AOP的返回通知和异常通知
返回通知:无论连接点正常返回还是抛出异常,后置通知都会执行。如果只想在连接点返回的时候记录日志,应使用返回通知代替后置通知。在返回通知中,只需要在@AfterReturning注解中添加returning属性,就可以访问连接点的返回值。必须在通知方法的签名中添加一个同名参数,在运行时Spring AOP会通过这个参数传递给返回值。在方法法正常结束后执行的代码 返回通知是可以原创 2016-07-31 11:36:53 · 7471 阅读 · 0 评论 -
Spring4笔记----用基于 XML 的AOP配
(1)声明切面当使用 XML 声明切面时,需要在 根元素中导入 aop Schema在 Bean 配置文件中,所有的 Spring AOP配置都必须定义在 元素内部.对于每个切面而言,都要创建一个 元素来为具体的切面实现引用后端 Bean实例. 切面 Bean 必须有一个标示符,供 元素引用(2)声明切入点切入点使用 元素声明原创 2016-07-31 12:25:11 · 421 阅读 · 0 评论 -
Spring事务的传播和隔离
事务的传播和隔离一、事务的传播当事务方法被另一个事务方法调用时, 必须指定事务应该如何传播.例如: 方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行.事务的传播行为可以由传播属性指定. Spring 定义了7 种类传播行为.常用的:(1) PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开原创 2016-08-04 15:20:31 · 520 阅读 · 0 评论 -
Spring的事务管理机制
一、数据库事务数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。事务的四个关键属性(ACID):(1)原子性(atomicity):事务是一个原子操作, 由一系列动作组成.事务的原子性确保动作要么全部完成要原创 2016-08-04 10:54:26 · 714 阅读 · 0 评论 -
如何清楚的理解REST以及Restful
1、什么是REST?看很多对REST的解释就是REpresentational State Transfer,直接翻译为:表现层状态转移。这个概念看上去很是懵逼。以下是自己看了网上一些通俗的解释整理下来的:全称是Resource Representational State Transfer,通俗的来讲就是:资源在网络中以某种表现形式进行状态转移。要想理解这句话首先需要弄清楚什么是资源...原创 2019-07-22 20:21:27 · 555 阅读 · 0 评论 -
Spring4笔记----Bean 的生命周期方法
(1)Spring IOC容器可以管理 Bean的生命周期, Spring允许在 Bean生命周期的特定点执行定制的任务.Spring IOC 容器对 Bean的生命周期进行管理的过程:通过构造器或工厂方法创建 Bean 实例为 Bean 的属性设置值和对其他Bean 的引用调用 Bean 的初始化方法Bean 可以使用了当容器关闭时, 调用原创 2016-07-29 10:27:40 · 456 阅读 · 0 评论 -
Spring4----使用注解方式配置bean和bean的属性
使用注解方式配置bean和bean的属性配置bean一、在classpath中扫描组件Spring 能够从 classpath下自动扫描,侦测和实例化具有特定注解的组件.(1)特定组件包括:@Component: 基本注解,标识了一个受 Spring管理的组件@Respository: 标识持久层组件@Service: 标识服务层(业务层)组件@原创 2016-07-29 10:16:12 · 4450 阅读 · 1 评论 -
Action的重定向-Struts2中防止表单重复提交的两种方式(二)
在struts2中结果标签的的type属性不指定时的默认值是dispatcher,如果在注册时,使用了请求转发,那么当我们刷新页面时,就会引起表单的重复提交.而重定向则不会。原创 2016-05-25 09:39:37 · 2518 阅读 · 0 评论 -
MVC简介
MVC是一种架构设计模式,其目的实现Web系统的职能分工,它把应用程序分为三个核心的模块:模型(Model)、视图(View)、控制器(Controller)。1、模型(Model)、视图(View)、控制器(Controller)各部分的作用 模型(Model):负责封装应用的状态,并实现应用的功能。模型通常分为数据模型和 业务逻辑模型。原创 2016-05-26 21:49:48 · 1398 阅读 · 0 评论 -
Struts2工作原理和执行流程图
1、Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面根据 struts2.0体系架构图来解析这些组件之间的原创 2016-05-27 10:38:53 · 30723 阅读 · 5 评论 -
Struts2源码分析(一)
Struts2是WebWork的升级版,采用的是WebWork的核心,所以,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。一、主要的包和类Struts2框架的正常运行,除了占核心地位的XWork的支持以外,Struts2本身也提供了许多类,这些类被分门别类组织到不同的包中。从源代码中发现,基本上每一个Struts2类都访问了WebWork提原创 2016-05-27 15:40:48 · 1013 阅读 · 0 评论 -
浅谈Session
最近在学java web部分,一开始对Session的整个知识结构比较困惑,查阅一些资料后结合自己的理解做一下整理总结,作为初学者,若理解有误,欢迎指正。1、Session的概念 Session代表服务器与浏览器的一次会话过程,是常用的会话跟踪技术。在Servlet当中session就是HttpSession对象。session是一个容器,可以存放会话过程中的任何对象。2、Sessi原创 2016-05-23 11:35:46 · 404 阅读 · 0 评论 -
Spring4学习笔记----Spring的依赖注入详解
Spring是一个IOC和AOP容器,Spring是非侵入型的,基于Spring开发的web应用中的对象可以不依赖Spring的API.IOC:依赖注入 (让Spring Bean以配置文件的形式组织在一起)所谓依赖注入:在程序运行过程中,如需要另外一个对象协作(调用他的属性、方法),无需在代码中创建该被调对象,而是依赖外部容器的注入。一、Spring容器(1)Spring容器原创 2016-07-27 20:47:31 · 2386 阅读 · 0 评论 -
Spring4----Bean之间的关系
1、继承(指的的配置上的继承)Spring 允许继承 bean的配置,被继承的 bean称为父 bean.继承这个父 Bean的 Bean称为子 Bean子 Bean 从父Bean 中继承配置,包括 Bean的属性配置,子 Bean也可以覆盖从父 Bean继承过来的配置。 若只想把父 Bean 作为模板,可以设置 的abstract原创 2016-07-28 09:03:48 · 370 阅读 · 0 评论 -
Spring4笔记----bean的作用范围
使用bean的scop属性来配置bean的作用域。1. singleton:是bean的默认值,Spring IOC容器中仅有一个bean实例,bean以单例的方式存在。scope="singleton"> 整个bean的生命周期只会有一个People对象 2. prototype:(原型的),容器在初始化时不创建bean,每次从容器中调用bean时,都返回一原创 2016-07-28 09:54:10 · 400 阅读 · 0 评论 -
Spring4笔记----使用外部属性文件配置 bean
在配置文件里配置 Bean 时, 有时需要在Bean 的配置里混入系统部署的细节信息(例如:文件路径、 数据源配置信息等)。 而这些部署细节实际上需要和Bean 配置相分离。 Spring 提供了一个 PropertyPlaceholderConfigurer的 BeanFactory后置处理器, 这个处理器允许用户将 Bean配置的部分内容外移到属性文件中。可以在 Bea原创 2016-07-28 09:55:07 · 1023 阅读 · 0 评论 -
Spring4笔记----工厂方法配置bean
(1)静态工厂方法调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不同关心创建对象的细节.要声明通过静态方法创建的 Bean, 需要在Bean 的class 属性里指定拥有该工厂的方法的类,同时在 factory-method属性里指定工厂方法的名称.最后, 使用 元素为该方法传递原创 2016-07-28 16:33:06 · 361 阅读 · 0 评论 -
Session Token机制-Struts2中防止表单重复提交的两种方式(一)
当用户填写完表单后,在提交过一次后,若用户做如下操作比如再次点击提交、刷新页面、提交页面呈现后点击后退按钮,都会导致表单重复提交。如果信息需要存储到后台数据库中,重复提交就会再次向数据库中插入用户信息,显然这样是不对的。解决方式有两种(一)Session Token机制 当用户首次访问包含表单的页面时,此时服务器会做三件事1)创建一个session对象,2)通过解析标签(编程时原创 2016-05-24 20:32:11 · 4001 阅读 · 0 评论