<<< 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 安装并启动 ...
随机推荐
- JDK1.3安装出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Done.
今天是出道以来第一次安装JDK1.3,大学的时候接触的也已是JDK1.4,而且是在Red Hat Enterprise Linux Server release 6.6上,安装JDK1.3是由于软件组 ...
- Ignite 配置更新Oracle JDBC Drive
如果使用Oracle 12C 作为Ignite 的Repository的话,在Repository Createion Wizard的配置过程中,会出现ORA-28040:No matc ...
- Linux 如何查看修改DNS配置
DNS服务器介绍 DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有 ...
- 一个C语言问题
在这个题目中,你需要编写一个c++程序,要求输出以下内容:000000010010.....11101111(输出0到31的每个数的二进制表示,每行一个,前面的0也必须输出!) 1)部分代码已经为你完 ...
- SpringMVC @ModelAttribute注解
/** * 1. 有 @ModelAttribute 标记的方法, 会在每个目标方法执行之前被 SpringMVC 调用! * 2. @ModelAttribute 注解也可以来修饰 ...
- SQL Server自动化运维系列——监控性能指标脚本(Power Shell)
需求描述 一般在生产环境中,有时候需要自动的检测指标值状态,如果发生异常,需要提前预警的,比如发邮件告知,本篇就介绍如果通过Power shell实现状态值监控 监控值范围 根据经验,作为DBA一般需 ...
- sql server 2000,Log.LDF文件丢失,附加数据库失败的解决办法[转]
SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式.下面将主要讨论一下后者的备份与恢复. ...
- Tomcat开机自启动
需要Tomcat开机自动启动应用: 首先.配置Java环境变量: 然后.新建变量:CATALINA_HOME=你的TOMCAT的根目录 最后.在PATH变量最后加上: ;%CATALINA_HOME% ...
- iOS AppIcon尺寸和上传ITunes构建版本尺寸
避免忘记. 记录一下 App Icon: 29X2940X4058X5876X7687X8780X80120X120152X152167X167180X180 ITunes构建版本: 1242 x 2 ...
- Linux IPC udp/tcp/UNIX域 socket编程
UNIX域套接字本地通信即在socket第一个参数中选择AF_LOCAL,socket是BSD提出的一种适用于所有的情况的进程间通信的方式,虽然现在多用于网络通信,但是本机内的进程间通信也是没有问题的 ...