【Java】极简的快速入门Struts2知识清单

这篇具有很好参考价值的文章主要介绍了【Java】极简的快速入门Struts2知识清单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

简介

MVC示例

Model层

View层

Controller层

配置文件struts.xml

简单开发流程


简介

Struts2 是一个用于开发 Java Web 应用程序的开源 Web 应用程序框架,它是 Struts 框架的升级版。Struts2 提供了更简单、更灵活的方式来构建 Web 应用程序,采用了拦截器(Interceptors)等技术来处理请求,并且支持多种结果类型(Result Types)来呈现响应。

MVC示例

Struts 是一种基于 Java 的 Web 应用程序框架,它使用 MVC 模式(Model-View-Controller)来实现 Web 应用程序的分层结构。下面从 MVC 的角度讲解 Struts 的相关语法,并给出示例代码:

Model层

在 Struts 中,Model 层通常由 POJO(Plain Old Java Object)组成,也可以使用 ORM(Object-Relational Mapping)框架来实现数据访问。一个简单的 POJO 类的定义如下所示:

public class User {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

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

上面的代码定义了一个名为 User 的 POJO 类,其中包含了两个属性 usernamepassword

View层

在 Struts 中,View 层通常由 JSP(JavaServer Pages)页面组成,它们负责呈现 HTML 页面和接收用户输入。一个简单的 JSP 页面的定义如下所示:

<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
    <title>Login Page</title>
</head>
<body>
    <h1>Login Form</h1>
    <s:form action="login" method="post">
        <s:textfield name="username" label="Username"/>
        <s:password name="password" label="Password"/>
        <s:submit value="Login"/>
    </s:form>
</body>
</html>

上面的代码定义了一个名为 login.jsp 的 JSP 页面,其中使用 Struts2 提供的 <s:form> 标签来创建一个表单,并使用 <s:textfield><s:password> 标签来创建文本框和密码框,最后使用 <s:submit> 标签来创建提交按钮。

Controller层

在 Struts 中,Controller 层由 Action 类组成,它们负责处理 HTTP 请求和返回响应。一个简单的 Action 类的定义如下所示:

public class LoginAction extends ActionSupport {
    private User user;

    public String execute() throws Exception {
        if (user.getUsername().equals("admin") && user.getPassword().equals("admin123")) {
            return SUCCESS;
        } else {
            addActionError("Invalid username or password.");
            return INPUT;
        }
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

上面的代码定义了一个名为 LoginAction 的 Action 类,其中包含了一个名为 user 的 POJO 对象,它通过 getUser()setUser() 方法来访问。在该 Action 类中,我们使用 execute() 方法来处理 HTTP 请求,如果用户名和密码匹配,则返回一个字符串类型的成功标识符 SUCCESS,否则返回一个字符串类型的输入标识符 INPUT,并通过 addActionError() 方法来添加错误消息。

配置文件struts.xml

在 Struts 中,我们需要使用配置文件来描述 Action 类和 JSP 视图之间的关系。一个简单的 Struts 配置文件的定义如下所示:

<struts>
    <package name="default" extends="struts-default">
        <action name="login" class="com.example.LoginAction">
            <result name="success">/welcome.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>

上面的代码定义了一个名为 default 的 Struts 包,其中包含了一个名为 login 的 Action 类。在该 Action 类中,我们指定了处理请求的类为 com.example.LoginAction,并定义了两个结果类型,分别对应到成功和输入标识符所对应的 JSP 视图。

简单开发流程

当使用 Struts2 开发 Web 应用程序时,主要步骤包括:

  1. 环境搭建:配置环境和添加框架库文件。

  2. 创建 Model 类:定义数据模型。

  3. 编写 View 层:设计用户界面。

  4. 编写 Controller 层:处理请求和业务逻辑。

  5. 配置:设置映射关系和过滤器。

  6. 测试和部署:确保功能正常运行并部署应用程序。文章来源地址https://www.toymoban.com/news/detail-825564.html

到了这里,关于【Java】极简的快速入门Struts2知识清单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • struts2 s2-062 OGNL远程代码执行

    struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。struts2也是一个web层的MVC框架。 Java中SSH框架 SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。 Java中SSM框架 SS

    2024年02月02日
    浏览(37)
  • struts2 s2-062 ONGL远程代码执行

    struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。struts2也是一个web层的MVC框架。 Java中SSH框架 SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。 Java中SSM框架 SS

    2024年02月02日
    浏览(39)
  • 框架安全(Laravel、thinkphp、struts2、springboot)

    Laravel是一套简洁、开源的PHP Web开发框架,旨在实现Web软件的MVC架构。 特征: CVE-2021-3129 Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发php反序列化,最终造

    2024年04月14日
    浏览(34)
  • 漏洞复现 - - -Struts2(s2-045)远程命令执行漏洞

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与St

    2024年01月20日
    浏览(47)
  • Apache Struts2漏洞复现之s2-001漏洞复现

            仅供学习参考使用,请勿用作违法用途,否则后果自负。         Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java ServletAPI,鼓励开发者采用MVC架构。         缘起于Apache Struts的WebWork框架,旨在提供相对

    2024年02月16日
    浏览(32)
  • [漏洞复现]Apache Struts2/S2-015 (CVE-2013-2135)

    2.3.14.3 之前的 Apache Struts 2 允许远程攻击者通过一个包含“${}”和“%{}”序列的特制值的请求执行任意 OGNL 代码,这会导致 OGNL 代码被评估两次。 春秋云境.com 进入靶场 开始复现 构造好payload,弹nc 就构造好的payload,url编码 接入我们的ip后面,同时本地打开nc监听 把靶场关了,

    2024年01月25日
    浏览(38)
  • Apache Struts2 S2-045远程命令执行漏洞(CVE-2017-5638)复现

    Apache Struts2是Apache项目下的一个web 框架,帮助Java开发者利用J2EE来开发Web相关应用。 Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。 Struts 2.3.5 – Struts 2.3.3

    2024年02月15日
    浏览(42)
  • 【科普向】LaTeX简介(一篇极简的 LaTeX 介绍文章)

    我们平时在word里新建一个doc(x)文件后,输入内容,调整页边距、字体大小、行间距等待,然后交给打印机打印就可以了。 如果你写了一篇关于新疆棉花的文章,2000字,在word里调整很快就可以得到你想要的效果。 但如果你想把自己记下的关于矩阵乘法的笔记打印下来,因为

    2024年02月04日
    浏览(40)
  • Forest-极简的轻量级HTTP调用API框架

    是不是一想到要对接第三方系统接口就发愁,尤其是与其他系统有大量接口交互时,不得不应对各种请求方式、设置各种不同的头、不同的返回、需要权限或token验证等等,将头疼不已,即使有Httpclient似乎还是要写很多的代码,那么Forest将解决你这一烦恼。 Forest是专注于简化

    2024年02月06日
    浏览(48)
  • 音乐人声分离工具:极简的人声和背景音乐分离工具

    这是一个极简的人声和背景音乐分离工具,本地化网页操作,无需连接外网,使用 2stems/4stems/5stems 模型。 将一首歌曲或者含有背景音乐的音视频文件,拖拽到本地网页中,即可将其中的人声和音乐声分离为单独的音频wav文件,可选单独分离“钢琴声”、“贝斯声”、“鼓声

    2024年01月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包