Strust2入门

目的

在你使用Strust之前你应该想知道应该学习哪些技术,这篇文章简答介绍了成功运行一个Struts项目你需要了解哪些技术。

如果你还不能确定Struts是否适合于你或者你有任何的问题都可以通过 Struts user mailinglist

你需要了解的关键技术

Struts文档是写给哪些活跃的web开发者并且假设对如何开发Java Web程序有一定的经验的人的。在开始使用Struts之前,你需要了解下面这几项关键技术:

  • HTTP和HTML
  • 基于HTPP的请求/响应周期
  • Java语言
  • JavaScript,AJAX和SOAP
  • 属性文件和ResourceBundles
  • Servlet,Filters和Web容器
  • JSP和JSP标签库
  • XML
  • MVC

这里简单的介绍每项技术但并没有讲述有关细节。为了方便,下面提供了进一步学习相关技术的链接。

起步

如果你对Java语言还不熟悉,你最好从 Java Turtorial 。

如果你已经熟悉了Java语言,但是对我们提到的相关技术还不熟悉,可以参考 Java EE Tutorial 。

如果你有在其他平台开发web程序的经验,你可以参考其他的文档学习。Struts所使用的核心技术也被绝大多数其它Java web产品使用,所以这些背景信息在任何Java项目中都有用。

HTTP,HTML和User Agent

万维网建立在HTTP和HTML之上。一个用户代理,例如浏览器,使用HTTP去请求一个HTML文档。然后浏览器解析并显示返回给用户的内容。HTTP被用来传输HTML内容让浏览器渲染。

如果你想学习HTTP,我们推荐由Dave Raggett写的 Getting started with HTML 。

HTTP的请求/响应周期

对于web开发者来说HTTP最重要的部分就是请求/响应周期。使用HTTP你必须构建一个请求。一个HTTP服务器,像web服务器,负责响应。当你构建你的web程序时,你设计时通过一个HTTP response来响应一个HTTP request。框架常常抽象了其中的很多细节,关键是我们要理解在这背后发生了什么。

如果你对基于HTTP的请求/响应还不属性,你应该学习它。网上有很多有用的资料可以参考。

Java语言和应用框架

Struts是用Java语言写的。Java是一门面向对象的语言,这些框架大量使用面向对象的技术。对Java的深入理解,特别是面向对象技术和线程,将会帮助你更好的学习Struts。

反射和内省

反射是决定一个对象的哪些成员变量和方法可用的过程。内省是JavaBean API使用的一种特殊形式的反射。使用内省,我们可以决定一个对象的哪些方法可以用来让另一个对象使用,比如getter和setter方法。

Struts使用内省将HTTP参数转化成JavaBean属性和使用JavaBean属性填充HTML字段。这项技术使在HTML forms和JavaBean之间进行“roundtrip”变得更方面。

当你初学Strust时,你并不需要深入理解这些概念,但当你产品不断变大,日益复杂时,这将会很有帮助。

属性文件和ResourceBundles

Java应用程序包括web应用程序,常常使用属性文件来配置。属性文件是ResourceBundles的基础,框架常使用它来给应用程序提供消息资源。

Java官方教程对Properties有详细的介绍。

Java ResourceBundles使用一个或多个属性文件给用户提供国际化信息。我们可以在框架的基础上一步步构建本地化应用。

线程

在Struts1的时代,你需要知道如何在多线程的环境下编写代码。在Struts2时,不再需要。在Struts2中,由一个HTTP request引起的每个action是一个普通的Java对象。

时间: 2024-10-04 06:26:30

Strust2入门的相关文章

Struts2入门(1)

---恢复内容开始--- 一丶Struts2基础学习总结 Struts2是在WebWork2的基础开发而来,它相比于Struts1的优点在于以下几点: 1.Strust2没有像Struts1那样跟Servlet API耦合度很高. 2.Struts2提供了拦截器,利用拦截器可以进行AOP编程. 3.Struts2提供了很强大的类型转换. 4.Struts2提供了多种表现层技术,虽然常用的只有JSP. 5.Struts 2 的输入校验可以指定方法进行校验. 6.Struts 2 提供了全局范围.包

深入分析JavaWeb 43 -- Struts2开发入门

一.Struts2概述 1.Struts2是什么? Struts2是一个M(模型-域–范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非常流行.有很大的缺点.此时一个webwork的框架设计超前,名气不是很大.Struts1+webworkd=struts2.用的是struts1的名字,但是与sruts1没啥关系,struts2的核心是webwork框架. 2.Struts2能干什么? web开发Strust2 核心功能

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

笔记:Spring Cloud Zuul 快速入门

Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成,而对路由规则的维护,默认会将通过以服务名作为 ContextPath 的方式来创建路由映射,也可以做一些特别的配置,对于签名校验.登录校验等在微服务架构中的冗余问题

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

JAVA通信系列二:mina入门总结

一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http://www.cnblogs.com/juepei/p/3940396.html Apache Mina 入门实例--创建一个MINA时间服务http://loftor.com/archives/apache-mina-quick-start-guide.html MINA2.0用户手册中文版--系列文

Storm入门(四)WordCount示例

Storm API文档网址如下: http://storm.apache.org/releases/current/javadocs/index.html 一.关联代码 使用maven,代码如下. pom.xml  和Storm入门(三)HelloWorld示例相同 RandomSentenceSpout.java /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor lice

浅谈Ubuntu PowerShell——小白入门教程

早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on Ubuntu的同学们提供一点小小的入门帮助,谢谢大家支持~ PowerShell Core是由Microsoft开发的运行在.Net Core上的开源跨平台的任务自动化和配置管理系统. 1.   在Ubuntu 16.04上安装PowerShell Core a)         导入公共存储库GP

2.vue.js 入门环境搭建

原文链接:http://blog.csdn.net/luckylqh/article/details/52863026?locationNum=2&fps=1 vue这个新的工具,确实能够提高效率,在经历的一段时间的摧残之后,终于能够有一个系统的认识了,下面就今天的收获做一个总结,也是vue入门的精髓: 1.要使用vue来开发前端框架,首先要有环境,这个环境要借助于node,所以要先安装node,借助于node里面的npm来安装需要的依赖等等. 这里有一个小技巧:如果在cmd中直接使用npm来安