struts2包可以在struts2官方网址下载,struts2采用热部署的方式注册插件,即如果向struts2中添加插件,直接把jar文件放在lib中即可,而不需要配置任何文件。
新建Web项目struts2,将struts2所以来的jar添加到/WEB-INF/lib文件夹,注意删除没有用的插件(形如xxx-plugin-2.0.11.jar的)。先用struts2实现登录功能,新建Action类LoginAction。struts2的Action继承com.opensymphony.xwork2.ActionSupport类。源代码如下:
LoginAction
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String account; //账号
private String password; //密码
@Override
public String execute() throws Exception {
if("helloween".equalsIgnoreCase(account) && "1234".equals(password)){
return SUCCESS;
}
return LOGIN;
}
public String getAccount() { //account属性的getter方法
return account;
}
public void setAccount(String account) { //account属性的setter方法
this.account = account;
}
public String getPassword() { //password属性的getter方法
return password;
}
public void setPassword(String password) { //password的setter方法
this.password = password;
}
}
LoginAction中有两个属性account password,代表JSP表单的两个输入框,Struts2会自动把输入框内容getter和setter进来。另外还有一个execute()方法,这是Struts2的住方法提交数据后Struts2会调用该方法,返回值代表结构页面的名称,具体路径在配置文件中
Struts2配置文件
Struts2文件默认位置为/WEB-INF/classes/struts.xml,可以将Struts.xml放到Myeclipse文件夹下,代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="main" extends="struts-default">
<global-results> <!-- 所有的全局变量result -->
<result name="login">/login.jsp</result>
</global-results>
<action name="loginPerson" class="com.fcl.action.LoginAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
JSP登录界面
jsp中使用struts2显示数据。注意添加struts2标签的taglib声明。struts2标签的用法与struts1的完全不一样。代码如下:
success.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="struts"%> <!-- 标签库taglib声明 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录成功</title>
</head>
<body>
登录成功,欢迎您,<struts:property value="account"/> <!-- 显示Action里的account属性 -->
</body>
</html>
全局登录页面login.jsp,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="struts"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<struts:form action="loginPerson"> <!-- FORM表单 -->
<struts:label value="登录系统"></struts:label>
<struts:textfield name="account" label="账号"></struts:textfield>
<struts:password name="password" label="密码"></struts:password>
<struts:submit value="登录"></struts:submit>
</struts:form>
</body>
</html>
两个页面都用了struts2标签
配置web.xml
最后,在web.xml中配置分配器,struts2使用filter作为分发器。如果有多个filter,要把struts2的分发器filter作为最后一个filter。代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts的filter,所有的请求都被映射到Struts2上 -->
<filter>
<filter-name>struts2</filter-name> <!-- filter的名称 -->
<filter-class> <!-- filter的入口 -->
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param> <!-- 该参数可省略,默认为"*.action" -->
<param-name>struts2.action.extension</param-name>
<param-value>action</param-value> <!-- 默认为"*.action -->
</init-param>
</filter>
<!-- Strut2的Filter的URL -->
<filter-mapping>
<filter-name>struts2</filter-name> <!-- Filter名称 -->
<url-pattern>/*</url-pattern> <!-- 截获所有URL -->
</filter-mapping>
</web-app>
struts2默认的后缀为“.action".配置<url-pattern>最好配置为“/*”而不要只配置为“*.action"。应为struts2集成了一些js资源,而这些资源并不是都是以.action结尾的.
分享到:
相关推荐
总的来说,"struts2实现用户登录注册"项目涵盖了Web开发中的多个关键点:前端表单处理、后端业务逻辑、数据库交互以及安全性考虑。通过实践这个项目,开发者可以深入理解Struts2框架的工作原理,以及如何在实际开发...
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
本实例将详细讲解如何使用Struts2实现一个简单的登录功能。 一、Struts2基础 Struts2是Apache软件基金会的开源项目,它继承了Struts1的优点并改进了其不足,如更灵活的配置、更强的拦截器机制等。Struts2的核心是...
在本教程中,我们将深入探讨如何使用Struts2来实现简单的功能。 首先,我们需要了解Struts2的核心概念。Action类是Struts2的核心组件,它是业务逻辑的载体,负责接收请求并进行处理。为了创建一个Action,我们需要...
至此,一个简单的Struts2登录功能就实现了。这个例子展示了Struts2的核心概念,包括Action、Result和配置文件。实际项目中,登录验证通常会涉及数据库操作,这里为了简化示例,仅使用了硬编码的用户名和密码。同时,...
总的来说,这个“struts2登录注册简单实现”项目涵盖了Struts2框架的基础应用,包括Action的创建、配置文件的编写、视图设计、数据处理以及安全性考虑等多个方面。通过实践,开发者能更深入地理解Struts2的架构和...
本文将深入探讨如何利用Struts2来实现用户登录功能,这对于任何Web应用来说都是基础且至关重要的部分。 首先,要理解Struts2的工作原理。Struts2框架的核心是Action类,它处理来自用户的请求,并通过...
在本案例中,我们关注的是如何使用Struts2实现文件上传的功能,这在许多Web应用中都是一个常见的需求,比如用户上传头像、提交文档等。 首先,理解上传功能的基本原理。在HTTP协议中,文件上传通常通过表单的POST...
Struts2是一个强大的Java web应用程序开发框架,它简化了基于MVC(模型-视图-...以上就是使用Struts2框架在Myeclipse中实现用户注册功能的详细步骤,涉及的技术点广泛且实用,对于理解和掌握Java web开发具有重要意义。
Struts2是一个强大的MVC(模型-...综上所述,使用Struts2实现登录功能涉及了Struts2 Action的编写、数据库连接与查询、表单提交处理、视图展示等多个环节。理解并掌握这些知识点,将有助于构建一个完整的Web应用程序。
根据提供的文件信息,我们可以从《Struts 2实战 Struts2 in Action》这一书籍中提炼出与Struts 2框架相关的多个重要知识点。Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和...
在"struts2简单登录注册(连接数据库)"这个项目中,开发者使用了Struts2框架来实现用户登录和注册的功能,并与Oracle数据库进行了交互。下面我们将详细探讨涉及的技术点。 1. **Struts2框架**: Struts2是Apache...
这个压缩包文件“StrutsTest”包含了学习Struts2基础功能的实例,特别是对于初学者来说,它提供了增删改查(CRUD)操作以及用户登录功能的实现,同时还涉及了使用JDBC进行数据库连接。 增删改查(CRUD)是任何数据...
在这个“struts2实现留言板”的项目中,我们将深入探讨如何利用Struts2框架来创建一个功能完备的留言板系统,包括添加、回复和删除留言等基本操作。 首先,我们要了解Struts2的核心组件和工作原理。Struts2框架通过...
这个登录验证程序是一个基础的示例,展示了如何结合Struts2和Hibernate实现用户登录功能。在实际项目中,还需要考虑更多的功能和安全问题,比如会话管理、异常处理、用户权限控制等。理解并掌握这些知识点,将有助于...
在Struts2中实现AJAX(Asynchronous JavaScript and XML)功能,可以增强用户界面的交互性和响应性,而无需刷新整个页面。本篇文章将详细介绍在Struts2框架下实现AJAX功能所需的jar包及其作用。 首先,我们需要了解...
Struts2是一个流行的Java web开发框架,用于构建可维护...以上就是Struts2框架中实现下载功能的核心步骤和技术要点,涵盖了配置、Action类的编写以及前端交互。通过这些步骤,开发者可以构建出一个可靠的文件下载系统。
在这个场景中,我们将深入探讨如何使用MyEclipse工具来实现一个基于Struts的登录功能。 首先,我们需要了解Struts框架的核心组件和工作原理。Struts框架主要由以下部分组成: 1. **Action类**:这是业务逻辑处理的...
以及拦截器的功能实现源码"是一个典型的业务操作示例,它展示了如何利用Struts2框架处理基本的CRUD(创建、读取、更新、删除)操作,并且涵盖了Struts2拦截器的使用。接下来,我们将详细探讨这两个核心概念。 首先...