struts2框架入门

当你想开发一个Java Web应用程序时,一些的Java Web框架可以大大简化开发过程。其中,Struts2框架是一个非常流行的Java Web框架,这里为你提供Struts2框架入门的完整攻略。

Struts2框架入门

1. Struts2框架概述

Struts 2是一个Web框架,是基于MVC(模型视图控制器)设计模式的开源框架。它是Struts 1.x的升级版,也是一个轻量级的框架,它采用了WebWork框架的核心部分。

Struts2具有更好的性能、更好的扩展性、更好的文档、更少的代码量、更优美的结构和更用户友好的标签库。

2. Struts2框架特点

Struts2框架具有以下特点:

  • 采用基于注解的方式配置Action;
  • 具有更好的标签库支持;
  • 支持Ajax,能够更好地与其他技术集成;
  • 集成了OGNL表达式语言,替代了Struts1中使用的EL表达式;
  • 同时支持Struts1的标签库。

3. Struts2框架入门实例

下面,我们将通过两个实例来展示如何使用Struts2框架开发Java Web应用程序。

3.1 实例一:Hello World

首先,我们通过Hello World示例来对Struts2框架有一个基本的了解。实现步骤:

  1. 新建一个Java Web项目,将Struts2框架应用到该项目中;
  2. 创建一个Action类,并在其中编写execute方法;
  3. 配置struts.xml文件中的action节点;
  4. 编写jsp页面。

1)新建一个Java Web项目

我们可以使用Eclipse或Idea等IDE来新建一个Java Web项目。在项目的web.xml文件中,添加Struts2的核心servlet。

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

2)创建一个Action类

我们可以通过创建一个类继承ActionSupport,并重写execute()方法来创建一个Action类。

package com.example.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
    private String message;
    public String execute() throws Exception {
        message = "Hello, Struts2!";
        return SUCCESS;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}

3)配置struts.xml文件

在struts.xml文件中,我们需要配置action节点。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="helloWorldAction" class="com.example.action.HelloWorldAction">
            <result name="success">/helloWorld.jsp</result>
        </action>
    </package>
</struts>

4)编写JSP页面

最后,我们编写一个简单的jsp页面来展示消息。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>HelloWorld</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>

在浏览器中输入URL,运行项目,便可看到Hello, Struts2!的输出。

3.2 实例二:用户注册

在这个示例中,我们将展示如何实现用户注册功能。实现步骤:

  1. 创建注册页面;
  2. 新建一个User类;
  3. 创建一个注册Action;
  4. 把注册信息存储到数据库中;
  5. 输出注册结果。  

1)创建注册页面

首先,我们创建一个简单的注册页面,包括用户名、邮箱和密码。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="${pageContext.request.contextPath}/register.action" method="post">
    用户名:<input type="text" name="username" /><br/>
    邮箱:<input type="text" name="email" /><br/>
    密码:<input type="password" name="password" /><br/>
    <input type="submit" value="注册" /><br/>
</form>
</body>
</html>

2)新建一个User类

用户注册需要创建一个User类,该类包含用户名、邮箱和密码等信息。

public class User {
    private int id;
    private String username;
    private String email;
    private String password;

    // getter和setter方法
}

3)创建一个注册Action

我们可以创建一个RegisterAction类,在该类中编写register()方法来处理用户提交的注册信息。

public class RegisterAction extends ActionSupport {
    private User user;

    public User getUser() {
        return user;
    }

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

    public String register() {
        // 将注册信息保存到数据库中
        return SUCCESS;
    }
}

4)把注册信息存储到数据库中

我们可以使用JDBC或Hibernate等ORM框架来将注册信息存储到数据库中。

public String register() throws Exception {
    // 获取数据库连接
    Connection conn = DBUtils.getConnection();

    //插入注册用户信息,具体实现可使用JDBC或hibernate等ORM框架
    PreparedStatement pstmt = conn.prepareStatement("insert into user(username,email,password) values(?,?,?)");
    pstmt.setString(1, user.getUsername());
    pstmt.setString(2, user.getEmail());
    pstmt.setString(3, user.getPassword());

    pstmt.execute();
    pstmt.close();

    // 关闭数据库连接
    DBUtils.closeConnection(conn);

    return SUCCESS;
}

5)输出注册结果

最后,我们在注册完成后,通过跳转页面或弹出对话框等方式来提示用户注册结果。

例如,跳转到一个提示页面:

<result name="success">/registerSuccess.jsp</result>

registerSuccess.jsp页面输出:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册成功</title>
</head>
<body>
<h1>注册成功</h1>
<p>感谢您的注册,您的用户名是${user.username}。</p>
</body>
</html>

这样,我们就完成了一个简单的用户注册功能。

4. 总结

通过上述两个示例,我们对Struts2框架有了一个初步了解。Struts2框架不仅能够提高开发效率,还能够实现丰富的请求响应操作,适合用于中小型Java Web应用程序的开发。因此,在实际的Java Web开发中,Struts2框架是值得学习和使用的框架之一。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2框架入门 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Tomcat网站发布配置方案详细说明

    Tomcat网站发布配置方案详细说明 简介 Tomcat是一个开源的、轻量级的、需要Java环境的Web服务器,被广泛应用于Java Web开发领域。本文将介绍如何在Tomcat上发布网站并进行配置。 步骤 1. 下载安装Tomcat 将安装包下载到本地,解压到指定目录。例如解压到目录/opt/tomcat。 2. 配置Tomcat 2.1 修改Tomcat…

    Java 2023年6月15日
    00
  • 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法

    下面我来详细讲解“解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法”的完整攻略。 问题概述 在使用Asp.net Mvc框架返回JsonResult时,我们经常会遇到DateTime类型的数据无法正确序列化的问题。原因在于Json序列化默认使用了UTC时间,而DateTime类型的数据默认是本机时间。为了解决这个问题…

    Java 2023年5月26日
    00
  • Java截取中英文混合字符串的方法

    当我们需要截取中英文混合字符串时,直接使用String.substring()方法进行截取,可能会截断中文字符,导致出现乱码。这里给出使用Java对中英文混合字符串进行准确截取的方法。 方法一:使用正则表达式 我们可以使用正则表达式 [\u4e00-\u9fa5] 匹配中文字符,然后计算匹配字符的个数来确定截取的位置。下面是代码示例: public clas…

    Java 2023年5月20日
    00
  • Java实现一个简单的文件上传案例示例代码

    下面是详细的讲解“Java实现一个简单的文件上传案例示例代码”的完整攻略。 1. 确定文件上传方式 在Java中实现文件上传,有多种方法可以选择,比如使用Java Servlet,使用Spring MVC等。本攻略选择使用Java Servlet实现简单的文件上传。 2. 创建HTML表单 为了上传文件,需要创建一个HTML表单用于提交文件。表单的必要元素如…

    Java 2023年6月15日
    00
  • SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取

    本文将详细讲解SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取的完整攻略,包括概述、步骤、示例等内容。 概述 SSH框架是指以Struts2作为Web层,Spring作为业务层和数据访问层的容器,Hibernate作为数据持久化层的开发框架。本次攻略的目的是介绍如何在SSH框架下实现基本增删查改操作,以及Service和Acti…

    Java 2023年6月15日
    00
  • 如何通过eclipse web项目导入itellij idea并启动

    将Eclipse Web项目导入IntelliJ IDEA并启动,可参考以下步骤: 1. 导入Eclipse Web项目 在IntelliJ IDEA中,选择“File” -> “New” -> “Project from Existing Sources”。 在弹出的“Import Project”对话框中,选择Eclipse项目所在的文件夹,…

    Java 2023年6月15日
    00
  • 简单了解java获取类的3种方式

    关于“简单了解Java获取类的3种方式”的完整攻略,我会根据以下内容进行讲解: 介绍概念:类是什么及其重要性; 详细讲解获取类的3种方式:new关键字、Class.forName()方法和类名.class; 分别用两个示例进行说明; 总结归纳。 1. 类的概念及其重要性 在Java中,类是一种重要的概念。类定义了对象所具有的属性和行为,是封装的基本单位。通过…

    Java 2023年5月26日
    00
  • 使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)

    使用IDEA搭建SSM框架的详细教程 简介 SSM框架是目前Java Web开发中最常用的框架之一,它由Spring、SpringMVC和MyBatis三个框架组成,可以很好地解决Java Web开发中的各种问题。本文将详细介绍如何使用IDEA搭建SSM框架,并提供两个示例说明。 环境准备 在开始之前,需要确保以下环境已经准备好: JDK 1.8以上版本 M…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部