关闭

Struts2(11)——拦截器(二)

回顾上一篇主要介绍了拦截器的实现方式以及原理,以及自定义拦截器的三种方法,从本质上来说,它们都是实现了Interceptor接口,interceptor会贯穿整个项目的生命周期,根据doIntercept()中拦截业务逻辑与invocation.invoke()方法所处位置的不同分为前处理与后处理的拦截器。拦截方法的返回结果是视图逻辑名,如果拦截业务决定不将请求交由下一级拦截器或者Action处理,...
阅读(11) 评论(0)

spring笔记(1)——第一步的helloWorld及介绍

在本系列笔记之前,已经看过极客学院上所有的免费版spring教程视频,极客学院上的视频短,但实在不够系统性,学习过程显得十分的零碎,因此效果是不太好的,这也是本次学习的重要原因。Spring的简介spring是一款诞生于2003年的轻量级开源框架,其诞生之初是为了解决企业级应用开发的复杂性,它的主要优势之一就是分层架构,分层设计架构允许开发者选择性使用组件。Spring的核心是控制反转(IOC)和面...
阅读(13) 评论(0)

Struts2笔记(10)——拦截器(Interceptor)(一)

拦截器(interceptor)用于AOP编程中某个字段或者方法访问前以及被访问后加入某些操作,拦截是AOP的一种实现策略。拦截器的使用还有一个重要的概念,就是拦截器链(InterceptorChain),意味着被使用的拦截器将会按照一定的顺序形成一条链,在访问被拦截的方法或者字段时就会被顺序调用。拦截器的实现原理拦截器大多是通过代理方式实现,Struts2的实现方式相对较为简单。当请求Struts...
阅读(12) 评论(0)

Struts2(9)——struts2与OGNL的结合(二)

前面几篇笔记中,我们在jsp页面中向Action传递了参数,通过这样三种方式: 1.属性驱动 将参数作为Action的一个属性 2.对象驱动 将实体类作为Action的属性 3.模型驱动 Action实现ModelDriven接口;实体类作为私有变量并实例化;实现getModel()方法,并返回实体对象。 现在探究一下原理: 在数据提交到Action的过程中将会经过...
阅读(19) 评论(0)

Struts(8)——OGNL与Struts结合的原理

ValueStackValueStack是Struts2的一个借口,字面翻译为值栈,OgnlValueStack是它的一个实现类。在客户端向程序发起请求时,Struts2会创建一个Action,同时创建一个OgnlValueStack的实例,OgnlValueStack贯穿整个Action的生命周期,Struts2将请求参数封装为一个对象放入到值栈中,并通过OGNL表达式访问该对象。OgnlValu...
阅读(19) 评论(0)

Struts(7)——OGNL表达式

OGNL的简介 OGNL即Object Graphic Navigation Langauage,译为对象图导航语言,是一种功能强大的表达式语言,通过简单一致的语法,可以轻易地访问对象的属性、方法,遍历整个对象的结构图。Struts2 的默认表达式语言就是OGNL,它试图以OGNL代替原来的EL表达式语言,来实现界面数据的绑定,也就是将视图界面中的某个元素和模型层的某个对象关联在一起,以便修...
阅读(25) 评论(0)

Struts2(6)——Action传递参数

1. 将参数作为Action的成员变量在Action中给定一个私有属性,并实现其set、get访问器,然后即可直接接收请求中的参数。package com.imm.demo;import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport;import java.util.Map;pu...
阅读(61) 评论(0)

深入理解ThreadLocal

Struts2的笔记中,在学习关于调用ServletAPI的过程中,我们接触到关于如何获取ActionContext对象,它是通过ThreadLocal设定一个为线程所独享的对象。关于ThreadLocal,我有所疑惑,所以单独列出来探索一下。ThreadLocal的介绍ThreadLocal在java.lang包下,译为线程局部变量,它并不是为了解决多线程共享变量而存在的,而是为每个线程创建一个独...
阅读(66) 评论(0)

Struts(5)——调用ServletAPI

Struts2 中有一个类,叫做ActionContext,它是Action的上下文,Struts2中的Action就通过它来访问原生Servlet的API。该类中封装了所有用于访问Servlet的方法: 1.static HttpServletRequest getRequest():获得HttpServletRequest对象; 2.static HttpServletResponse g...
阅读(19) 评论(0)

Struts(4)——结果处理方式

结果的处理大致可以分为四种:转发、重定向、转发到Action以及重定向到Action。 这些方式可以在result标签中通过type属性进行配置。1. 转发默认的处理方式是转发ServletDispatcherResult 可以在package org.apache.struts2.dispatcher下查看到其源码,其内部doExcute(String finalLocation, Actio...
阅读(133) 评论(0)

Struts2笔记(3)——Struts的配置文件详解

基础配置1.元素:将Action配置封装,package中可以有多个Action; name:给予package一个名字作为标识; namespace:给Action的访问路径中定义一个命名空间; extends:继承一个指定包,这里可以先设定为”struts-default”,意为继承默认包,该包在Struts的默认配置文件struts-default.xml中可以找到,它为我...
阅读(134) 评论(0)

Struts2笔记(2)——Struts的请求流程

Struts2.0简介Struts2是阿帕奇旗下的一款流行的Web框架,基于MVC模式,成功结合了Webwoker和Struts1.X的优势。虽然名字上叫做Struts2.0,但除此之外它和Struts1.X的关系并不大。 Struts2.0的核心功能都是使用拦截器实现“值栈”这个概念,OGNL表达式和Struts2.0标签来解决应用程序数据,以及大量的注解,使得这个框架更易于使用。这些优势足以说...
阅读(44) 评论(0)

struts2笔记(1)——搭建一个HelloWorld

1.导入struts2相关依赖IDE使用IDEA2017 以下是maven的pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/...
阅读(73) 评论(0)

Hibernate(6)——注解的使用

Hibernate注解的简介Hibernate注解基于JPA2规范,并支持其所有功能,它的分类可以分为:类级别的注解,属性级别的注解以及映射关系的注解。所有JPA注释都在javax.persistence.*包中定义。 Hibernate EntityManager实现由JPA规范定义的接口和生命周期。使用注解的优势使用hibernate注释的核心优点是我们不需要创建映射(*.hbm.xml)文件直...
阅读(32) 评论(0)

Hiernate(5)——缓存策略的概述

缓存这里的缓存并不是说CPU的内存或者一二级缓存,而是指为了降低应用程序对物理数据源访问的次数从而提高运行程序的性能的一种策略。 ORM框架访问数据库的效率直接决定了应用程序的运行速度,因而提升和优化ORM的执行效率是至关重要的,Hibernate缓存是提升和优化Hibernate性能的重要手段,所以需要掌握Hibernate缓存的配置和使用。缓存的工作原理区别与不使用缓存时应用程序直接访问物理数...
阅读(33) 评论(0)
46条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:3089次
    • 积分:460
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:2篇
    • 译文:1篇
    • 评论:1条
    最新评论