struts注解相关知识
-
九:Struts 2配置详解Struts 2配置详解 一:Struts 2执行过程的解析 分析登录程序: (1.)获取Struts 2资源。 (2.)在应用程序中导入Struts 2的类库。 (3.)在web.xml文件配置StrutsPrepareAndExecuteFilter。 (4.)编写Action类进行配置 (5.)配置返回结果与物理视图资源的关系。 (6.)编写结果视图 2.配置资源: (1.)web.xml:任何一个web应用程序都是基于请求/响应模式进行构建的,无论采用哪种MVC框架都不离开web.xml文件配置。 (2.)Struts 2默认加载顺序:struts-default,struts-plu
-
struts运行流程 客户端浏览器通过HTTP请求,访问控制器,然后控制器读取配置文件,然后执行服务器端跳转,执行相应的业务逻辑,然后,在调用模型层,取得的结果展示给jsp页面,最后返回给客户端浏览器 组成部分 struts 视图 标签库 控制器 action 模型层 ActionFrom JavaBean struts maven 安装 官网 : https://struts.apache.org/ idea新建web项目 接着如下依赖 网址 https://search.maven.org/artifact/struts/struts/1.2.9/jar <dependencies> <dependency> <groupId>org.apache.str
-
Struts 2基础Struts 2框架以配置文件的方式来管理核心组件,从而允许开发者方便地扩展框架的核心组件在struts.xml文件中通过配置常量来指定Struts 2的属性值,可以改变框架的默认行为Struts 2使用包来管理Action和拦截器等组件,每个包就是若干个Action、拦截器、拦截器引用组成的集合通过命名空间的配置,可以在Struts 2配置Action的过程中避免重名的问题,类似于Java语言中的“包”机制“包含配置体现的是软件工程中”分而治之“的原则,通过《include》元素在struts .xml文件中包含其他配置文件Struts 2中的Action是一个普通的Java类,该类通常包含一个execute()方法,该方法没有任何参数,只返回一个字符串类型值Struts 2中的Action可以通过ActionContext类访问Servlet API配置Action就是让Struts 2容器知道该Action的存在,并且能够调用该Action来处理用户请求dispatcher、redirect和redi
-
Struts+Spring+Hibernate框架配置方案本文以给出了一个完整的SSH(Struts+Spring+Hibernat)框架配置方案。(附源文件) 本文的读者:适合刚刚学习SSH、想体验一下SSH和想用SSH做点事情的朋友。 你需要的知识:会eclipse的基本操作、tomcat的配置,如果不会你可能犯了“躁进”的毛病,先学基础吧(建议你读一下《学习原来是这样的》)。当然你要有一定的Struts、Spring、Hibernate知识,至少知道struts-config.xml、hibernate.cfg.xml、ApplicationContext.xml是干什么的。 因为要配置的文件比较多,为了给读者一个直观印象,在正式开始前,我先给出配置的路线图。 图中按照hello.do请求的处理顺序,描述了6个配置文件之间的依赖关系。下面我们将一个实际的例子,依次来讲述各个文件的配置。例子SSHDemo演示了又前台传入请求hello.do,请求,返回一条由数据库中取出的数据。 第一步、建立项
struts注解相关课程
-
使用Google Guice实现依赖注入 本课程将带领大家通过Google Guice来系统的学习DI思想中的绑定,注入,生命周期,aop等方面的技巧。并示范Guice和Spring Boot如何协作。对于熟悉Spring的同学,学完本课后可以了解两者异同,加深对DI和Spring的理解。不只是为了单纯教授Gucie的用法,而是以Guice为媒介,希望使同学们在编程能力上能有所提高。 双十一双重好礼相送: 第一重:课程加量不加价; 第二重:小伙伴们可以凭借好评召唤幸运之神;将从评价用户中抽取三名幸运之星,赠送价值:499美元折合人民币约:3500RMB,请看图二; 【抽奖结果将在16-20号之间通过评价回复公布】活动详情传送门:https://coding.imooc.com/class/evaluation/180.html#Anchor
讲师:ccmouse 高级 9894人正在学习
struts注解相关教程
- 6. Spring MVC 与 Struts MVC WEB MVC 框架领域中有一款叫做 Struts MVC 的前辈,曾经也风光无限。当然,现在还是有很多企业在使用。Struts MVC 和 Spring MVC 是功能类型相同的框架,本体功能是一样的。Struts MVC 相比较 Spring MVC, 没有自己的生态圈。MVC 框架与其它框架有一个显著的不同点,MVC 是一个项目级别的架构思想,MVC 框架用于程序的整体架构设计,Struts MVC 很多功能需要借助于 Spring 实现,很显然没 Spring MVC 与 Spring 的吻合度好。Spring MVC 后面是 Spring 这个靠山。爱屋及乌、就近原则会让开发者更趋向于选择 Spring MVC。
- Java 注解 本小节我们将学习 Java5 引入的一种机制 —— 注解(Annotation)。通过本小节的学习,你将了解什么是注解,注解的作用,Java 中内置注解有哪些以及注解的分类,如何自定义注解,如何处理注解等内容。
- 3.3 用元注解配置注解 在前面学习 Java 内置的注解的时候,我们已经了解了元注解,元注解就是用于修饰其他注解的注解。通常只需使用这些内置元注解,就可以基本满足我们自定义注解的需求。下面我们将会详解 Java 内置的 5 个元注解,你将会了解为什么需要这些元注解。3.3.1 @RetentionRetention译为保留。@Retention注解定义了一个注解的生命周期(我们前面对于 Java 注解的分类,就是通过其生命周期来划定界限的)。它可以有如下几种取值:RetentionPolicy.SOURCE:注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视;RetentionPolicy.CLASS:注解只被保留到编译进行的时候,它并不会被加载到 JVM 中;RetentionPolicy.RUNTIME:注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们。下面我们使用@Retention注解来指定我们自定义的注解@Length的生命周期,实例如下:import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)public @interface Length { int min() default 0; int max() default Integer.MAX_VALUE; String message() default "长度不合法";}上面的代码中,我们指定 @Length 注解可以在程序运行期间被获取到。3.3.2 @Documented这个元注解的作用很简单,标注了此注解的注解,能够将注解中的元素包含到 Javadoc 中去。因此不做过多解释。3.3.3 @Target@Target 注解是最为常用的元注解,我们知道注解可以被应用于类、方法、变量、参数和包等处,@Target 注解可以指定注解能够被应用于源码中的哪些位置,它可以有如下几种取值:ElementType.ANNOTATION_TYPE:可以给一个注解进行注解;ElementType.CONSTRUCTOR:可以给构造方法进行注解;ElementType.FIELD:可以给属性进行注解;ElementType.LOCAL_VARIABLE:可以给局部变量进行注解;ElementType.METHOD:可以给方法进行注解;ElementType.PACKAGE:可以给一个包进行注解;ElementType.PARAMETER:可以给一个方法内的参数进行注解;ElementType.TYPE:可以给一个类型进行注解,比如类、接口、枚举。例如,我们定义注解@Length只能用在类的属性上,可以添加一个@Target(ElementType.FIELD):import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface Length { int min() default 0; int max() default Integer.MAX_VALUE; String message() default "长度不合法";}@Target注解的参数也可以接收一个数组。例如,定义注解@Length可以用在属性或局部变量上:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD, ElementType.LOCAL_VARIABLE})public @interface Length { int min() default 0; int max() default Integer.MAX_VALUE; String message() default "长度不合法";}至此,我们就完成了 @Length 注解的定义。下面,我们再来看下剩余的两个元注解。3.3.4 @Inherited使用@Inherited定义子类是否可继承父类定义的注解。@Inherited仅针对@Target(ElementType.TYPE)类型的注解有效,并且仅针对类的继承有效,对接口的继承无效:@Inherited@Target(ElementType.TYPE)public @interface TestAnnotation { String value() default "test";}在使用的时候,如果一个类用到了@TestAnnotation:@TestAnnotation("测试注解")public class Pet {}则它的子类默认也定义了该注解:public class Cat extends Pet { }3.3.5 @Repeatable使用@Repeatable这个元注解可以定义注解是否可重复。例如,一个注解用于标注一个人的角色,他可以是学生,也可以是生活委员。@Target(ElementType.TYPE)@Repeatable(Roles.class)public @interface Role { String value() default "";}@Target(ElementType.TYPE)public @interface Roles { Role[] value();}@Repeatable 元注解标注了@Role。而 @Repeatable 后面括号中的类相当于一个容器注解,按照规定,它里面必须要有一个 value 的属性,属性类型是一个被 @Repeatable 注解过的注解数组。经过@Repeatable修饰后,在某个类型声明处,就可以添加多个@Role注解:@Role("学生")@Role("生活委员")public class Student {}
- 3.2 EnableHystrixDashboard 注解详解 @EnableHystrixDashboard 注解和 @EnableHystrix 注解的作用类似,即也可以理解为它是一个开关,用来控制在项目中是否使用 HstrixDasboard 服务监控台,如果声明了该注解,则表示使用 HstrixDasboard 服务监控台,否则,就不使用 HstrixDasboard 服务监控台。@EnableHystrixDashboard 注解同样是作用在类上的注解,和 @EnableHystrix 注解不同的地方在于,该注解不是使用 Hystrix 所必须声明的注解,即在项目中你可以只使用 Hystrix 的功能特性,不使用它的 DashBoard 服务监控台,使用方法如下代码所示。@EnableHystrixDashboardpublic class DemoApplication { // 现在,同学们不需要理解main方法,重点看所使用的注解即可 public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}Tips: 1. Hystrix Dashboard 服务监控台是否需要使用,一般是跟随项目要求来的,一般而言,任何一个项目都需要使用,因为不管是开发者,还是运维者,都需要在后台对服务进行监控; 2. Hystrix Dashboard 自带了很多我们需要用到的属性,通过查看这些属性,我们可以很清楚地了解每一个服务的健康情况,该服务监控台的使用会在后期有专门小节进行介绍,希望同学们可以持续关注。
- 2.4 @Resources 注解 此注解的作用是指定依赖按照 id 注入,还是按照类型注入。当只使用注解,但是不指定注入方式的时候,默认按照 id 注入,找不到时再按照类型注入。语法如下:@Resource //默认按照 id 为 userDao的bean实例注入 @Resource(name="userDao") //按照 id 为 userDao的bean实例注入 @Resource(type="UserDao") //按照 类型 为 UserDao的bean实例注入 这里就只做个语法的介绍,注解的使用大同小异,大家按照上方步骤自行测试即可。
- 3.1 注解 在工作中我们会经常用到注解功能,它是我们约定的一种注释方式,用来分类并提示在工作中,我们接下来要做的一些事情。常用的注解有下面几种:关键字什么时候使用TODO备注缺失的特性或者在以后添加的功能FIXME备注有问题需要修复的代码OPTIMIZE来备注慢的或者低效的可能引起性能问题的代码HACK备注那些使用问题代码的地方可能需要重构REVIEW来备注那些需要反复查看确认工作正常的代码。例如: REVIEW: 你确定客户端是怎样正确的完成 X 的吗?经验:注解应该写在紧接相关代码的上方;注解关键字后跟一个冒号和空格,然后是描述问题的记录;如果需要多行来描述问题,随后的行需要在 # 后面缩进两个空格;注解不应该放在行尾而没有任何备注。实例:# 错误的实例def bar sleep 100 # OPTIMIZEend实例:# 正确的实例def bar # FIXME: This has crashed occasionally since v3.2.1. It may # be related to the BarBazUtil upgrade. baz(:quux)end
struts注解相关搜索
-
s line
safari浏览器
samba
SAMP
samplerate
sandbox
sanitize
saper
sas
sass
save
smarty模板
smil
smtp
snapshot
snd
snmptrap
soap
soapclient
soap协议