第一节 一个最简单的Struts2实例

Struts2项目实例   Java web动态编程技术,经历了Model1和Model2时代。 Model1时代:整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应,用少量的JavaBean来处理数据库连接访问等操作。Model1的局限性非常明显,JSP页面同时担任View和Controller两种角色,将页面表现和逻辑处理混杂在一起,代码重用性极低,增加了扩展和维护难度... 阅读详情

  第一节:一个简单的Struts2实例

  目的:通过一个最简单的struts2实例,使初学者能够
  (1)了解如何创建一个Web应用
  (2)了解在Web应用中部署Struts2环境的基本配置
  (3)了解Struts2应用的基本部件和Web应用的结构层次

   功能:本实例实现的功能是从输入界面输入用户名和密码,若用户名和密码正确转到成功界面,否则转到失败界面。

   实现:
   第一步:创建一个Web工程
   在MyEclipse,通过菜单File->New->Web Project,在Project Name输入工程名称Strut2Travel,点解确定完成创建一个工程。
   简注:MyEclipse属于一个IDE继承开发环境,可以快速的创建Web项目。读者可以手工创建,只需满足项目的文件结构即可。其中WEB-INF文件夹必不可少。

   第二步:导入Struts2的核心支持包
struts2-core-2.1.6.jar
freemarker-2.3.13.jar
commons-logging-1.0.4.jar
ognl-2.6.11.jar
xwork-2.1.2.jar
   简注:Struts2有大量的jar包,支持大量的功能,不同类型的应用可能需要不同的包支持。以上的5个包为Struts2的核心包,使用Struts2必须使用。

   第三步:配置struts2转发过滤器
   编辑web.xml文件,添加以下内容
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
   简注:“/*”表示涉及本工程的所有浏览器端的请求都经过struts2过滤器处理。

    第四步:创建输入页面login.jsp、结果页面welcome.jsp和error.jsp
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><title>登录界面</title></head>
  <body>
    <form action="loginAction.action">
       用户名:<input name="username"><br>
       密 码:<input type="password" name="userpass"><br>
      <input type="submit" value="提 交">
      <input type="reset"  value="取 消">
    </form>
  </body>
</html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'welcome.jsp' starting page</title>
  </head>
  <body>
    <font color="red" size="10">登录成功!</font>
  </body>
</html>
error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'error.jsp' starting page</title>
  </head>
  <body>
    <font color="red" size="10">用户或密码错误!</font>
  </body>
</html>
    简注:本实例是最简单的应用,以上为纯JSP文件,Struts2提供大量使用的标签,本书后面的实例会使用到。

    第五步:创建Action文件LoginAction和struts2.xml文件
LoginAction.java
package sample1;

import com.opensymphony.xwork2.ActionSupport;

/**
 *
 * 作者 Headsen
 * 创建日期 Nov 20, 2009
 * 联系方式 headsen@163.com
 *
 */
public class LoginAction extends ActionSupport{
 private String username;
 private String userpass;
 
 public String execute(){
  if("headsen".equals(username)&&"123456".equals(userpass))
   return SUCCESS;
  else
   return ERROR;
 }
 
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getUserpass() {
  return userpass;
 }
 public void setUserpass(String userpass) {
  this.userpass = userpass;
 }
}
    简注:默认配置情况下执行execute()方法,实际应用中经常更改配置。本书后面将深入讲解。注意本类中的username和userpass必须和网页文件的name属性名一致。
struts2.xml
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 <package name="sample1" extends="struts-default">
   <action name="loginAction" class="sample1.LoginAction">
     <result name="success">/sample1/welcome.jsp</result>
     <result name="error">/sample1/error.jsp</result>
   </action>
 </package>  
</struts>

    第五步:将程序发布到Tomcat,启动Tomcat即可。
    通过本实例读者应该掌握如何配置并编写一个最简单最基本的应用,对于初学读者以了解为主,没必要深究一些问题,后面本书将会详细的讲解Struts2的细节。

struts2项目实例 使用struts2搭建的项目,包括简单的增、删、改、查业务。 立即下载

相关推荐

struts2简单实例

学生信息查询实例,用struts2配置文件,action的实现以及通过action实现前后台的数据传输

Struts2基础入门(有源码)

                                                         目标: 理解Struts的体系结构掌握Struts的基本用法 1. Struts简介      Struts是前身是由CraigR.McClanahan编写的JSPModel2架构之Application Framework源码贡献给Apache基金会,因此也成为现在Apache ...

iteye_20251的博客 246

struts2实例项目

struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例

struts2 sample

1, web.xml struts2的核心控制器FilterDispatcher被设计成一个Filter而不是一个普通servlet,为了让WEB应用加载FilterDispatcher,只须在web.xml配置FilterDispatcher。 2. struts.xml 新建struts.xml放入src路径下,struts已经为我们配置了一个默认的配置,具体可以查看核心包下的defau

gsmfan1977的专栏 491

struts2 实战 实例代码

配合struts2,正本书贯穿这个例子。

struts2 项目实例

struts2.0 小例子 希望对刚学struts2的同胞能有所帮助

Struts2实例

一、准备工作及实例 1.解压struts-2.1.6-all.zip apps目录:struts2自带的例子程序 docs目录:官方文档。 lib目录:存放所有jar文件。 Src目录:源文件存放地 2.六个基本包 struts2-core-2.1.6.jar:开发的核心类库 freemarker-2.3.13.jar:struts2的UI标签的模板使用freemarker编写...

web开发自学 484

Ubuntu 20.04 上 Geant4 安装避坑全记录:从源码编译到 B1 示例跑通(含数据包加速下载)

本文详细记录了在Ubuntu 20.04系统上从源码编译安装Geant4的全过程,包括环境准备、依赖安装、CMake参数解析、多线程编译优化以及数据包加速下载等关键步骤。特别针对B1示例的测试与验证提供了完整流程,帮助科研人员和学生避开常见安装陷阱,提升粒子物理模拟效率。

weixin_31220401的博客 312

1.struts2实例

struts是一个web框架,他以一种更加优雅的方式来实现控制器,并提供如国际化,类型转换,数据验证,Ajax等一系列的功能。struts是在MVC架构模式的基础上构建的一种解决方案。在struts2中使用IOC和AOP最先进的设计思想,使得控制器与容器最大程度的解耦。struts2是一个MVC层的框架,是由struts1与webwork两个框架结合而成的,大部分的功能都采用的是webwork两个组

cjq2013的专栏 288

持续集成介绍及Jenkins自动化测试部署

学习持续集成及jenkins的自动化测试部署

ouihsiad的博客 4577

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

完整的struts2框架应用实例

一、有关struts的配置,上一篇文章已经介绍过了,这里不再赘述,直接进入主题;        配置网址:()

linshenshijianlu的博客 1万+

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 352

Struts2简单实例

本文使用Struts2演示一个最最简单的登录的实例,旨在初步了解Struts2. 首先,看一下实例的目录结构 需要引入的JAR包如下图 web.xml的内容: <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema

梦想起飞的地方,必须用心去经营 2765

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1276

基于Claude Code的 规范驱动开发(SDD)指南

传统的AI辅助开发,如同手工作坊,我们向AI描述想法,它给我们零散的部件,我们再手动打磨、组装。这个过程充满了不确定性、信息损耗和重复劳动。本指南将尝试引领您进入软件开发的“工业时代”。在这里,

形上得其象,形下合于数;阴阳自济,玄理自明。 2749

最简单Struts2实例

以下用登录功能,实现一个最简单的 struts2 可运行的实例。 一、新建项目 TEST二、添加 STRUTS2 的包,共加5个, 复制到WEB-INF/lib 下就可以了。三、login.jsp   --------login--------    -->          用户名:         密码:              --%>     

one_dollar 2019

[QMT和ptrade量化交易小白入门]-125、菜场大妈加上四大现金行业指数风控,最大回撤从22%减少了一半

群里面有人建议,在菜场大妈策略的基础上,加入申万的行业指数(银行,钢铁,有色,煤炭)测算其宽度,当这四大行业其中有一个高就会清仓(用来控制回撤)。这背后的逻辑是,在存量资金博弈的市场环境中,资金总量相对固定,当银行、钢铁、有色、煤炭等大市值周期行业因基本面改善(如涨价、政策催化)或避险需求而走强时,会吸引大量资金涌入,导致其他板块(尤其是小市值股票)面临流动性虹吸。经过回测,对比上一个版本发现确实是可以降低一半的回撤,最大回撤从22.3%降到了11.4%,而且有很多时间是空仓等待。

木头大左的博客 241

一个简单的struts 2实例讲解

初学SSH框架,最好的办法就是多动手,在实践中去理解框架。下面用struts 2的框架搭建一个简单的登录示例,首先是框架的搭建,然后是代码的实现及配置,虽然例子简单,但是对于理解Struts 2有很好的作用。          首先开始准备工作,搭建Struts 2的框架。         1.   新建一个WebProject,工程名为Struts2_EXA。          

moon__stone888888的博客 2306

保姆级教程:ABAP 通过 HTTP POST 调用 OData 服务创建业务数据的具体例子

笔者之前的文章发布之后,有朋友在评论区留言,询问 ABAP 除了 Web Service 之外,是否也支持 HTTP 呢?ABAP 这么强大的语言,支持 HTTP 当然不在话下。网上有很多在 ABAP 系统基于 CL_HTTP_CLIENT 工具类,通过 HTTP 协议和第三方系统交互的代码例子。本文介绍笔者项目中一个实际例子,实现的是在 ABAP 系统 A 通过 HTTP 调用 OData 服务,在 ABAP 系统 B 创建业务数据的需求。下面我们按照这个套路来一步步实现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 700

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

最简单的Struts2下载图片实例

最简单的Struts2下载图片实例 在实际项目中上传和下载是十分常见的,今天我就教大家如何利用Struts2框架来实现图片的下载环境的搭建 (申明一下 我用的是struts-2.3.31) 一、创建一个web 工程 二、下载好Struts2以后导入核心jar 三:编写上传页面 代码如下(index.jsp)<%@ page language="java" import="jav

浪丶荡 3609

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

最简单的Struts2项目实例

前言 最近学习Struts的框架,就跟着视频,写了一个简单的Struts框架。 在Myeclipse中创建一个自己的Web项目: 创建Struts 1、引入Libraries 2、写界面 我们,将包引入完成之后,我们就开始写我们的界面。写一个引入界面:Index.jsp: --%> <% Strin

邱慕夏 没有比脚更长的路,没有比人更高的山 2079

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Struts2的Action的生命周期:struts2为每一个请求重新初始化一个action的实例

这个可以自己试着测试下,很简单,但能洞悉struts2大道理,推荐给大家看看! Struts2的Action的生命周期是:Struts2为每个请求都重新初始化一个Action的实例。可以稍微改造一下代码来验证一下。 给HelloWorldAction加上一个public无参的构造方法,在里面输出一句话。 大家都知道,一个Java类如果没有写构造方法,那么会有一个默认的public...

qq_37611061的博客 310

简单Struts2实例(入门级)

   功能:本实例实现的功能是从输入界面输入用户名和密码,若用户名和密码正确转到成功界面,否则转到失败界面。   实现:   第一步:创建一个Web工程   在MyEclipse,通过菜单File->New->Web Project,在Project Name输入工程名称Strut2Travel,点解确定完成创建一个工程。   简注:MyEclipse属于一个IDE继承开发环境,可以快速的创建

hntyzgn2010的专栏 2万+

IDEA搭建Struts 2框架以及Struts测试实例

1.打开idea,选择File > new > project,左侧选择Java Enterprise或者java都可以,右边勾选Struts 2,注意右下方的Libraries中勾选Set up library later , 点击next,填写项目名字和项目存储路径之后点击Finish。 2.下载Struts 2的jar包,我下载的是最小的一般够用,当然你也可以下载...

辰风的博客 1988

通过实例学习Struts2 - 从struts-blank开始 (1)

前言 一直用Struts1 , 现在新的项目要转向Struts2了, 先研究学习一下,做点技术储备。 我一直认为计算机软件行业是一个实践性非常强的行业,书读了多少都不管用, 一定要卷起袖子,亲自动手,才能学到一门技术的精髓,才能谈得上精通。 否则浮在表面,只懂概念,夸夸奇谈,一进入真正的项目就傻眼了。 但是自己完全从零开始来学习一个技术还是太慢了,一定要找到一个切入点, 就像打仗一样,

Be yourself and Beyond yourself 1万+
上一篇: 设为首页 加入收藏 HTML代码
下一篇: 这是一个开始
Headsen
博客等级 码龄19年 30粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值