Struts2实现MVC( 实例解析)

致远OA表单维护实战:从表单设计到安全排查的完整指南 从表单设计器的基础配置说起,聊到动态执行脚本、数据校验、批量导入导出等高频操作。结合若依等平台的设计理念,强调表单引擎在OA系统中的核心地位。针对手机号验证等常见校验需求,给出正则表达式与服务端兜底方案。同时梳理存储型XSS风险的排查链路,区分JavaScript表单提交与H5表单差异。最终收敛到致远OA表单维护的关键技巧与避坑指南。 阅读详情

本文示例使用2.3版本的Struts2和MySQL数据库进行测试,实现简单的用户登录验证

一、新建Web项目struts2_01,导入相应的jar包

官网地址:http://struts.apache.org/download.cgi#struts252(开始可能打不开网址,建议多点击几次)

这里写图片描述

下载后解压,将其中struts2-blank项目所用的jar包导入;还要导入MySQL的jdbc驱动包

二:配置web.xml文件

配置一个struts的过滤器

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

三、建表、建包、编写各java类及jsp页面

请参考 JavaWeb实现MVC设计模式(实例解析)
有修改的地方:
1.将com.bo包的名字改为com.service,将其中的UserBo名称改为UserService,删除com.control包,新建com.action包,在com.action下编写UserAction.java,代码如下:

public class UserAction {

    private String username; 
    private String password;

    public void setUsername(String username) {
        this.username = username;
    }
    public void setPassword(String password) {
        this.password = password;
    }

    public String login(){
        UserService userService=new UserService();
        boolean validate=userService.checkUser(username, password);
       //返回结果给控制器
        if(validate){
           return "success";
        }else{
            return "fail";
        }
    }
}

2、本例的jsp页面的目录布局如下:
这里写图片描述

在配置struts.xml文件时要注意与自己的jsp目录相匹配

四、配置struts.xml文件

1.在src目录下新建一个xml文件并命名为struts.xml
2.配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!-- 使用"!"进行动态方法调用,必须设置该常量 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />

    <package name="struts2_01" extends="struts-default">
        <action name="UserAction" class="com.action.UserAction">
            <result name="success" >/WEB-INF/jsp/loginSuccess.jsp</result>
            <result name="fail" >login.jsp</result>
        </action>
    </package>
</struts>

过程简介:
用户发送一个请求后,请求将被FilterDispatcher,即我们所配置的过滤器处理,Filter将根据struts.xml 文件所配置的映射关系,将请求转给对应的Action;在获取了Action的返回结果后,又根据struts.xml 文件所配置的映射关系,将符合要求的jsp返回给用户

Struts2 MVC框架换成SpringMVC框架的详细步骤 一、前言        其实大家在工作的时候,一般很少涉及框架大改的情况,除非是一个值得重视与长期发展的项目,碰巧我遇到了一个比较重要的项目,由于项目的初次搭建的时候欠缺很多方法的考虑,使用了比较旧的架构:Spring+Struts2+Hibernate+MyBatis,这个框架也有一些优点,比如Hibernate+MyBatis可以同时使用,而且还共用了数据源,也不影响事务的切面。由于Spri... 阅读详情

相关推荐

Struts2项目实例

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

Angelia Zheng 7503

简单的Struts2登录功能流程

开发环境 eclipse、jdk1.7.0_55、tomcat7.0.54、struts2.3.16 下载struts2全jar包 进入下载地址:http://struts.apache.org/download.cgi 如果需要其他的版本则下拉页面到Prior releases 下载后解压得到 一般只需要下载下来的jar包中lib文件夹中的commons-fileuploed-1.3jar、freemarker-2.3.19、ognl-3.0.6.jar、str.

xxyuan_csdn的博客 1013

关于struts2框架与MVC之间关系的分析

1、MVC模式基础 1.1、MVC模式简介   MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而达到更好的开发和维护效率。在MVC模式中,应用程序被划分成模型(Model)、视图(View)和控制器(Controller)三个部分。其中,模型部分包含了应用程序的业务逻辑和业务数据;视图部分封装了应用程序的输出形式(页面

WangQYoho的博客 1万+

记录一次struts2转spring MVC的经历

应公司要求,需要对原有SSH(struts2+hibernate3+spring3)框架进行升级,升级后框架为springMVC4+spring4+hibernate4+spring session+shiro,下面简单介绍下升级过程。1、修改pom.xml,这步不多说,按照需要配置对应版本即可,途中会遇到各种各样版本冲突问题,没办法,慢慢改吧,修改后的版本如下:2、修改web.xml    1)...

纳米的专栏 7084

Struts2框架实现用户登录实例详解

在Web开发中,用户输入验证是保证数据安全与系统稳定性的关键步骤。验证框架能够集中管理验证规则,提升开发效率,降低维护成本。Struts2框架内置了强大的验证框架,它基于XWork验证框架,通过注解或XML配置文件来定义验证规则,实现了灵活且可扩展的验证机制。在Struts2中,可以通过注解或XML文件两种方式来定义验证规则。在Action类中,使用@Validate注解指定需要验证的方法,并且使用等注解在字段上定义具体的验证规则。

weixin_26907223的博客 800

IntelliJ IDEA实现基于Struts2的登录功能深入解析

Struts2是Apache软件基金会赞助的一个开源框架,用于开发基于Java EE的Web应用程序。它是Struts的后续版本,与Struts 1相比,Struts2采用拦截器框架和过滤器实现,大大提高了性能和扩展性。Struts2支持MVC(Model-View-Controller)设计模式,将Web层的业务逻辑与展示层分离,从而简化了复杂应用程序的开发。IntelliJ IDEA 是一款功能强大的集成开发环境(IDE),由 JetBrains 公司开发。

weixin_30653091的博客 1131

把系统从Struts2 迁移到 Spring MVC六大步总结

在这篇辅导材料里,我重点总结了怎么把一个基于struts的系统迁移到SpringMVC架构上来,共分六部曲,让系统一部一部迁移过来,本文讲的知识点以Struts2 to Spring4,但是针对其他应用场景也是可以参考的。Step 1: 替换基本的框架库。Firstly while migrating from struts ...

Fred Lee的程序人生 6385

系统架构设计师考试考点突破、案例分析、试题实战一本通.pdf

系统架构设计师考试考点突破、案例分析、试题实战一本通.pdf

Java程序员从笨鸟到菜鸟之(三十五)细谈struts2(一)自己实现struts2框架

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.youkuaiyun.com/csh624366188 Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。最初的struts1.x很快在企业开发中流行了起来,与此同时,当时还有一个非常的优秀的web...

long_yu2的专栏 290

.NET采用MVC架构学习的经典实例(包括了博客空间,论坛等主流模块),资料其全(含数据库生成脚本和数据字典)

.NET采用MVC架构学习的经典实例(包括了博客空间,论坛等主流模块),资料其全(含数据库生成脚本和数据字典),本人花了很多时间精力学习.net的成果,完全自创。

四款办公Agent实测对比:WorkBuddy、千问办公、库库AI、豆包工作怎么选

AI Agent是一种能感知环境、自主决策并执行动作的智能系统,其核心在于工具调用、状态管理与错误恢复构成的执行闭环。在办公场景中,任务边界清晰、容错率高、重复性强,使Agent成为最容易落地的方向。通过调用本地文件、脚本或办公套件,Agent能自动完成文件批量处理、文档摘要、会议纪要等重复劳动,显著提升工作效率。目前WorkBuddy、千问办公、库库AI、豆包工作等产品分别从本地操作、办公套件嵌入、知识处理、轻量助手等路线切入,用户可根据自身场景选择。

weixin_29052717的博客 518

JavaWeb中的Struts2概述

&lt;main&gt;         &lt;div class="blog-content-box"&gt;     &lt;div class="article-header-box"&gt;         &lt;div class="article-header"&gt;             &lt;div class="article-title-

qq_41441003的博客 633

uniapp: err = err.replace(this._UNI_INPUT_DIR_REG, ‘UNI_TypeError: err.replace is not a function问题修复

问题:uniapp的依赖包出现了问题,需要升级解决办法:升级uniapp依赖包,下载"semver"和”@dcloudio/uni-i18n“两个包,本地锁定postcss为7版本,就解决了。

py_boy的博客 1452

Struts

Struts是基于MVC的框架,它进一步的对MVC进行了封装。 MVC 概念 MVC全名是Model View Controller,是模型(model)—视图(view)—控制器(controller)的缩写,知道这么多就够了。 大家都知道SUN公司对于MVC模式先后推出的一种规范,第一种是JSP Model1,第...

dayou7738的博客 81

升降机SEW MOVIDRIVE变频器设置

选择PO1 第2,3,9,13 位,点击“SendPA”Start reference,编码器反馈值为0(PI2/3 Actual position=0)提示:传送参考位置前请断开变频器安全24V电源,否则会弹出禁止修改提示框;提示:做这一步时,如果出现电机不能转动,或产生报警不能通过编码器匹配。下载配置的参数,提示:下载参数需要断开变频器的安全24V电源。编码器匹配通过后点击下一步,进入下图画面传送参考位置。1电机不能转动:a可能是由于变频器的安全24V未给。点击2.SEW总线扩展定位,定位块设置。

xdpcxq的专栏 5394

Reeds-Shepp曲线公式推导及代码实现-第三部分(共三部分)

根据原始起点的坐标和航向,将上一小节计算出来的局部进行整体的平移和旋转(与归一化的步骤刚好相反),最终得到全局路径的轨迹。根据计算出来的路径,选择路径最短的轨迹(也可根据我们实际的需要定制选优规则),作为最终的轨迹输出。Reeds-Shepp曲线公式推导及代码实现-第一部分(共三部分)Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)的值进行等步长插值,得到每段轨迹对应的生成一系列插值距离列表。根据上一步生成的插值距离列表的值,计算其对应的局部位姿值。后,我们需要根据字段类型(

jianmo的博客 1087

Struts基本原理 + 实现简单登录(二)

MVC 概念 MVC全名是Model View Controller,是模型(model)—视图(view)—控制器(controller)的缩写,知道这么多就够了。 大家都知道SUN公司对于MVC模式先后推出的一种规范,第一种是JSP Model1,第二种则是JSP Model2;Model1就是jsp + javabean,Model...

weixin_34004576的博客 120

【阿里AgentScope框架】多框架组合:AgentScope加LangChain,让你的开发效率直线上升

本文以一个例子来看下AgentScope框架和LangChain如何实现融合使用,真的超级简单,一看就懂。这是一种思路,为多种框架的融合使用提供借鉴。

同学小张的博客 3469

struts2学习笔记(一) MVC模式

在学习struts2之前首先了解一下MVC模式。  MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念 模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不...

心静欣 131

OpenHarmony开发一个App,安装到BearPi-HM Micro开发板

建议先阅读我们这篇,这里面详细介绍了,以及hap包安装的全过程。本篇是介绍如何开发一个App,然后安装到开发板上,比如hap包,无法安装等问题。

Halifax 1029

Cadence PCB仿真 使用Allegro PCB SI为BRD文件创建通用型IBIS模型的方法图文教程

本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的元器件创建IBIS模型的方法。

fydar的博客 2168

springmvc和struts2比较

1.核 心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受、异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter。 2.控制器实例:Spring Mvc会比Struts快一些(理论上)。Spring Mvc...

ITLTX1024的博客 266

麒麟服务器操作系统QT系列软件工具手册

对Qt提供的开发工具进行了一系列的优化之后,在日常的修复bug和维护框架的过程中,桌面研发对Qt的基础软件库也进行了部分优化工作,包括qtbase、qtwayland、qtscript、qt4-x11等Qt基础组件,涉及的Qt框架版本主要涉及到5.9和5.12两个版本。qt 的翻译,是由 ts 文件生成 qm 文件然后进行翻译,国产操作系统上qt 的翻译是由单独的qttranslations包中进行维护,其次部分汉化问题也是qt组件维护工作的一部分,qt的翻译机制如图4-7所示。

太极淘的博客 542

Struts是如何实现MVC的

上篇文章说到用servlet实现的一些弊端,下面,我们就解决一下这个问题,我们用struts来实现一个登陆的实例。 首先,了解一下struts与MVC的一一对应关系: Model:The Model portion of an MVC-based system can be often bedivided into two major subsystems -- the internal st

蒋倩兰——蕙质兰心 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Struts,MVC 的实现

简介小学生也可以在因特网上发布 HTML 网页。但是,小学生的网页和专业开发的网站有质的区别。网页设计人员(或者 HTML 开发人员)必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、图像创建和 JavaScript 等等。设计漂亮的网站需要做大量的工作,大多数 Java 开发人员更注重创建优美的对象接口,而不是用户界面。JavaServer Pages (JSP) 技术为网页设计人员和 Ja

!Java 2667

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: JavaWeb实现MVC设计模式(实例解析)
下一篇: Spring声明式事务管理
a_good_programer
博客等级 码龄10年 18粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值