Struts入门

Struts2入门第一讲——Struts2框架的快速入门 Struts2框架的概述Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开发者的必备技能之一。接下来将针对Struts2的特点、安装以及执行流程等内容进行详细的讲解。什么是Struts2先讲Struts2框架之前,我们得知道JavaEE一共有三层架构,如下: 架构名称 阅读详情

Struts1.1 学习笔记


需要的Struts包

从网上下载Struts的压缩包后,解开,把lib子目录下的所有.jar文件复制到自己应用程序的lib目录下。当然,或许有些用不到,但全放进来最起码不会出错。

web.xml配置文件

只要用Struts来搭建J2EE架构,web.xml的写法都差不多,我现在不用Struts的标签库,只用其最基本的功能,写法如下:

 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <display-name>Struts Example Application</display-name> <!-- Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 

也就是说所有以.do为后缀的请求都将发往org.apache.struts.action.ActionServlet,这个类包含在struts.jar中。 至于/WEB-INF/struts-config.xml,这是Struts用的配置文件,文件名和路径也可以由用户自定义,其实我写的这个是Struts的默认配置,即如果省略这个参数,Struts会自动把/WEB-INF/struts-config.xml作为配置文件,也可以指定多个配置文件,不同的配置文件以逗号","隔开。

struts-config.xml

我们由简到难,先做一个空的struts-config.xml,再逐渐往里加功能,代码如下所示:

 <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <action-mappings> </action-mappings> </struts-config> 

在以下的步骤我们就可以看到,我们如些向这个XML文件添加内容。其实空的文件连<action-mappings>也没有,但是这struts-config.xml里面最基本的标签,所以我先加进去了。

实现最简单的页面跳转

也就是说,我们要实现这么一个动作,它只是简单地从一个页面跳到另一个页面,功能和HTML页面中的静态链接完全一样。我们先在index.jsp中创建这么一个链接:

 <a href="jump.do">点这里跳转到别的页面</a> 

然后在struts-config.xml中的<action-mappings>标签中加入如下<action>标签:

 <action path="/jump" forward="/success.jsp"> </action> 

OK,这个最简单的功能就实现了。其中,path属性表示客户端传来的链接请求,注意,这里并没有.do后缀。forward自然就是跳转的目标页面了。

使用Servlet

我们先实现一个最简单的Servlet,它只是返回一个字符串“Hello, I come back!”给客户端,其代码如下:

 //UseServlet.java import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; public class UseServlet extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { request.setAttribute("test_value", "Hello, I come back!"); return mapping.findForward("return"); } }

Servlet必须是org.apache.struts.action.Action的子类并重载execute方法,execute方法返回一个org.apache.struts.action.ActionForward类,用于返回相应页面。在本例中我们使用mapping.findForward("return")来返回这个对象,至于字符串"return",过会儿你可看到,这是我们定义在struts-config.xml中的一个标识。

然后是定义struts-config.xml的<action-mappings>中的相应标签如下:

 <action path="/servlet" type="UseServlet" scope="request"> <forward name="return" path="/servlet_test.jsp"/> </action> 

其中type属性表示要使用的Servlet,scopen表示有效范围,值得注意的是<forward>子标签,其中的name属性"return"和servlet最后的mapping.findForward()的参数一致。

最后在index.jsp相应的加入:

 <a href="servlet.do">点这里使用Servlet</a> 

使用数据库

我们可以直接在struts-config.xml中的<struts-config>中指定数据库连接,方式如下:

 <data-sources> <data-source> <set-property property="autoCommit" value="false"/> <set-property property="description" value="Example Data Source Configuration"/> <set-property property="driverClass" value="sun.jdbc.odbc.JdbcOdbcDriver"/> <set-property property="maxCount" value="4"/> <set-property property="minCount" value="2"/> <set-property property="password" value=""/> <set-property property="url" value="jdbc:odbc:test"/> <set-property property="user" value=""/> </data-source> </data-sources> 

本例中我使用的是JDBC-ODBC数据库连接,你需要事先建一个名为test的ODBC连接。然后你就可以在Servlet中以如下方式得到数据库连接:

 javax.sql.DataSource dataSource = getDataSource(request); java.sql.Connection conn = dataSource.getConnection();

你可以在</data-sources>中定义多个数据库连接,例如:

 <data-sources> <data-source key="A"> ... properties as before ... </data-source> <data-source key="B"> ... properties as before ... </data-source> ... </data-sources>

然后以如下方式取得数据库连接:

 dataSourceA = getDataSource(request, "A"); dataSourceB = getDataSource(request, "B"); 
Struts2快速基础入门实战指南 本文还有配套的精品资源,点击获取 简介:Struts2是一个基于MVC架构的Java Web应用程序框架,它简化了开发过程并提供了对控制流的更好控制。本文是一个初学者友好型的快速入门指南,将引导读者了解Struts2的核心概念,包括Action类、配置文件、MVC模式、拦截器、ValueStack、OGNL表达式语言以及结果类型。教程将一步步带领读者构建一个简单的Strut... 阅读详情

相关推荐

HAL库硬件SPI驱动ST7735 TFT屏幕:从零实现高效刷屏与图形绘制

本文详细介绍了如何使用STM32的HAL库硬件SPI驱动ST7735 TFT屏幕,从硬件连接到SPI配置优化,再到图形绘制与文本显示的实现。重点分享了DMA传输、局部刷新等高级优化技巧,显著提升刷屏效率,帮助开发者快速掌握屏幕驱动技术并应用于实际项目。

pink的博客 741

Servlet基础之ServletConfig与ServletContext接口详解

本文从源码上分了ServletConfig和ServletContext两个接口,ServletConfig是相对于每个Servlet实例的,根据web.xml中的配置或者@WebServlet注解来生成的;ServletContext是相对于web 应用的,在一个web应用(一个虚拟机中运行的一个web应用)中是全局唯一的,ServletContext中封装了许多功能强大的方法,其中比较重要的就是对资源文件的使用,通过Servlet容器可以方便的使用web应用中的资源,这也需要我们多练习,熟练掌握。

丹丹的后花园 2210

基于AIS动态数据与AI结合得经纬度标示算法

港口船舶智能标注系统 本系统通过结合摄像头视频流和AIS船舶动态数据,利用AI技术实现船舶实时标注功能。系统架构包括视频流处理、AIS数据解析、船舶检测匹配和坐标映射转换等模块。关键技术步骤: AIS数据获取:通过本地接收机或网络API获取船舶位置、航速等信息 AI目标检测:采用YOLOv8等模型识别视频中的船舶 船舶匹配算法:通过位置投影或运动轨迹匹配视频目标与AIS数据 坐标映射:使用相机标定技术将经纬度转换为图像坐标 实时标注:在视频画面上叠加船名、位置等关键信息 应用场景包括港口监控、智能海事管理和

qianbo042311的博客 1808

入门Struts1第一讲——Struts1入门就这么简单

现在终于进入框架的学习中了,前面还有好几个框架等待着我们呢。我们先来学习Struts1框架,然后再过渡到Struts2框架的学习中。下面我们开始学习Struts1框架。Struts简介Struts是apache开发的一个web层的框架,它主要用于简化web层的开发,Struts针对web层的一些常用操作,例如: 表单数据的封装、校验和数据的回显 国际化开发 文件上传 异常处理 等等…Struts都提

李阿昀的博客 2万+

STM32F103多通道PWM输出避坑指南:TIM1_CH1异常输出的解决方案

本文深入解析STM32F103多通道PWM输出中的TIM1_CH1异常问题,提供从时钟配置到GPIO复用的系统化解决方案。通过黄金法则配置流程和高级调试技巧,帮助开发者快速定位并解决PWM输出不稳定、占空比异常等问题,同时拓展多定时器协同和互补PWM等高级应用场景。

weixin_29194817的博客 117

Containerd容器运行时的私有仓库镜像推送push和镜像拉取问题解决

向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。向/etc/containerd/config.toml配置添加如下配置,然后重启containerd。通过crictl为k8s拉取镜像如下所示。可以通过ctr命令进行镜像推送。往私有仓库推送镜像如下。

Bulut0907 1万+

Struts快速入门

Struts快速入门     一、Struts快速入门案例 为什么要学习Struts呢?因为Web层jsp页面调用servlet过于繁琐,Apache组织开发了一套针对web层简化操作的框架,可以简化Web层的操作。 首先,我们了解了为什么要学习Struts后,我们先来用上Struts框架实现用户注册页面。 1、编写一个注册页面 2、把表单的注册请求交给struts处理 3、导入str

白菜大爷的专栏 633

基于MYD-YT153与AD7616的16通道高速ADC采集系统实战指南

在嵌入式系统与工业数据采集领域,模拟信号采集是连接物理世界与数字系统的关键技术。其核心原理是通过模数转换器(ADC)将连续的模拟电压信号转换为离散的数字码值,供处理器处理。这项技术的价值在于实现了对温度、压力、振动等关键物理量的精确感知与数字化,是工业自动化、设备监测、科学实验等场景的基石。本文聚焦于**多通道**、**高精度**采集这一常见需求,深入剖析如何利用全志T153处理器的LocalBus并行总线接口,高效驱动ADI的16位、16通道同步采样ADC芯片AD7616,构建一个稳定可靠的高速数据采集系

weixin_30335353的博客 443

struts开发实践—入门学习

--文章源自一位网友这篇文章是一个叫smilelily网友写的,昨天找自己的email记录找到了,他在csdn上有用户,文章源地址 http://dev.youkuaiyun.com/user/smilelily (一)struts入门学习1.         先来谈谈struts学习的好处吧,从我自身来讲,struts学习给我带来了以下好处:l         自信心,目前在国内使用struts

大肚翁的专栏 1627

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2901

RT-DERT安卓部署教程

这个文档中的代码案例,实现了拍照和选图识别,两个功能,可以看效果图。UI做了美化:显示类别机和数量。代码下载地址:通过网盘分享的文件:android_rtdert.zip链接: https://pan.baidu.com/s/1k6e-d_lov1OPgUmit5i_cA?pwd=hpfi 提取码: hpfi–来自百度网盘超级会员v8的分享。

AIOT魔法师 194

关于struts2的入门chm文档

关于struts2入门的chm文件和struts2的api文档,供下载。

duqiangcise 140

Open3D 使用CPD算法对点云配准【2025最新版】

Coherent Point Drift相干点漂移算法实现点云配准(python代码)博客长期更新,本文最近更新时间为:2025年2月2日。

点云侠的博客 8万+

Struts2入门

包好struts2入门一个项目和struts2必须的项目包。

lujiebing的博客 131

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SSH进阶——Struts入门

Aldeo 481

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Struts2框架简单入门

Struts2入门

qq_42640067的博客 7744

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Struts入门经验

以下内容是我自己整理的一些Struts实施的入门,希望能对大家有所帮助 Struts安装: 首先请到http://jakarta.apache.org/Struts下载Struts,建议使用release版,现在最高版本为1.1,下载后得到的是一个ZIP文件。 将ZIP包解开,可以看到这个目录:lib和webapps,webapps下有一些WAR文件。假设你的Tomcat装在c:/Tomcat下,

风言吾者---崇尚开源 966

Struts的入门配置

Struts2的概述 1、Struts2框架的学习路线 (1)Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写。 (2)Struts2的数据的封装、结果页面配置。 (3)Struts2的值栈和OGNL表达式。 (4)Struts2的标签库。 2、什么是Struts2? Struts2是一个基于MVC设计模式的Web层框架。 Struts2的内核相对于Struts1来讲已经发生巨大变化。 3、常见的web层框架有哪些? Struts2 Struts1

pipizhen_的博客 328

struts入门

struts简介: Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。 优缺点: Struts的优点主要集...

qq_44493832的博客 270

struts2(一) struts2入门

struts2(一) struts2入门

程序员大海的博客 155

Struts学习傻瓜式入门篇

Struts学习傻瓜式入门篇     或许有人觉得struts不容易学,似乎里面的一些概念让未接触过的人迷惑,MVC1、MVC2、模式……我写这篇文章是想让从来没有接触过struts的人,能有个简单的入门指引,当然,系统地学习struts是必要的,里面有很多让人心醉的东东,那是后话了。  该案例包括首页,用户登陆、网站向导页面。就这么简单,没有深奥的struts概念,主要靠动手,然后用心体

pipo的专栏 920
下一篇: AJAX.NET入门
lldwolf
博客等级 码龄26年 57粉丝 44原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值