<<< struts 的一系列介绍
struts有什么用?
以前使用servlet开发应用系统的人深深感受到在java代码中嵌入大量html代码是一件非常痛苦的事,于是sun推出了JSP,解决了java代码中嵌入html代码的问题。但是很快程序员们就知道,用JSP“在html代码中嵌入大量java代码”跟“在java代码中嵌入大量html代码”是一样的非常痛。JSP是这样,ASP也是这样。于是,Craig R. McClanahan借用MVC的思想,把Java web应用程序的java和html分离开放在不同的文件中,分成了三部分,也就是struts;后来,微软也学会了这种分离方法,但微软懒一些,只分成了两部分,也就是ASP.NET。
Struts (org.apache.struts)是一个开放源代码的Web应用框架,基于MVC设计模式,使用servlet和JSP API建立,可以用来构建复杂的Web应用。它允许我们分解一个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。Struts 框架是Jakarta工程的一部分,由Apache软件基金会管理。Struts可以从http://jakarta.apache.org/ struts站点下载。
Struts框架提供以下服务。
作为MVC结构中的controller的servlet.
JSP里用于bean管理、HTML和JavaScript生成、模板处理和流程控制的JSP标签库。
用于国际化消息的框架。国际化你的Web应用,意味着你的Web应用在使用时可以让用户以喜爱的语言显示。这意味着你需要创建一个应用资源文件,包含每种语言的信息。
一个JDBC的实现来定义数据源和数据库连接池。 一个通用的的错误和异常处理机制,包括从一个应用程序资源文件读取错误信息。
XML语法分析。 文件上载工具。 注册机制。
一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。来自客户的请求被传递给叫 ActionServlet的servlet,它作为controller.使用了Struts的应用程序,所有需要通过框架的请求都通过 ActionServlet传递。这个ActionServlet把数据从请求传递到ActionForm JavaBean。 ActionForm是代表从一个表单View组件输入数据的JavaBean。这些表单由JSP用Struts html标签库产生。这个beam由 ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。 ActionServlet通过定义一组ActionMapping来配置。一个ActionMapping是一个对象,它将
请求中的URL映射到由应用程序开发者提供的处理请求的组件。ActionServlet和ActionMapping的配置在XML配置文件中完成。
专用的应用程序用于处理请求的组件叫Action类。在MVC结构中,它们代表模型。它们可能用于验证用户输入的合法性,假如在信息处理过程中出现了应用程序错误,Action类可以创建一个error对象的实例,然后保存庆HTTP request对象中。如果在Action类中的逻辑成功地被招待类给Controller传递一个ActionForward对象,代表所需的描绘响应的JSP。ActionForward有两种:专门转发给特定的Action类或全局转发(任何一个Action类可以把这些 ActionForwards转给Controller)。
<<< struts 的一系列介绍的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- lambda表达式-转载
来源:http://www.cnblogs.com/knowledgesea/p/3163725.html 前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸 ...
- ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose]
案例环境: 操作系统版本: Red Hat Enterprise Linux ES release 4 数据库版本 : 10.2.0.4.0 32 bit 案例介绍: 今天我执行stop_ora ...
- ORA-01336: specified dictionary file cannot be opened
这篇介绍使用Logminer时遇到ORA-01336: specified dictionary file cannot be opened错误的各种场景 1:dictionary_location参 ...
- Form 引用方法库
进入注册表,win+R 输入:regedit,找到HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE ,在右侧找到:FORMS60_PATH,双击,把方法库的路径以英 ...
- 深入理解Thread.sleep的含义
转载一篇对sleep说的非常好的一篇文章,原文http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html 我们可能经常会用到 Thread ...
- WSTMall网站系统最新官方版
WSTMall V1.0是在thinkphp 的经典版本3.2.2基础上进行优化开发的, TP 3.2.2不是thinkphp的一个最新的版本,却是thinkphp最金典的一个版本,正所谓站在巨人的肩 ...
- Linux下使用 Memory Analyzer
一. 安装Memory Analyzer Tool 打开eclipse >> Help >> Install New Software >> 点击Work With ...
- Sqlserver游标复习
经常写存储过程,但今天在游标使用过程中还是疏忽了一些事情,执行过程中一直执行不下去,后来直接sqlserver挂了,教训啊! 代码虽简单,望铭记: Create PROCEDURE [dbo].[te ...
- 【原】如何改变表单元素的外观(for Webkit and IE10)
表单元素在网页设计中使用的非常频繁,如文本输入框.单选框.复选框.选择列表.上传文件,它们在浏览器中的展现有自带的外观,为了在视觉上取得更好的产品体验,保持客户端的统一,通常产品经理会提出需要改变它的 ...
- UVA - 1025 A Spy in the Metro[DP DAG]
UVA - 1025 A Spy in the Metro Secret agent Maria was sent to Algorithms City to carry out an especia ...