首先下载Struts2的jar库。
地址:
http://struts.apache.org/download.cgi#struts232-SNAPSHOT
将需要的jar库拷贝到WEB-INF下的lib中。基本的9个包是:
commons-fileupload-xxx.jar
commons-io-xxx.jar
commons-lang-xxx.jar
commons-logging-xxx.jar
freemarker-xxx.jar
javasist-xxx.jar
ognl-xxx.jar
struts2-core-xxx.jar
xwork-core-xxx.jar
在web.xml中添加filter支持struts2
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后编写action代码:
package com.mm.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = -4543171546615125867L;
private String username;
private String password;
public String execute() {
if ("lander".equals(username) && "rover".equals(password)) {
return SUCCESS;
}
return LOGIN;
}
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;
}
}
接着在src下新建struts.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2Test" extends="struts-default">
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<action name="login" class="com.mm.action.LoginAction">
<result name="success">/welcome.jsp</result>
</action>
<!-- Add your actions here -->
</package>
</struts>
这样就完成了一个action。
login.jsp:
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="login">
<s:label value="登陆"></s:label>
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密码"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
</body>
</html>
welcome.jsp:
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
欢迎<s:property value="username"/>
</body>
</html>
一个简单但五脏齐全的struts2工程完成了。
分享到:
相关推荐
本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...
这篇自学笔记将深入探讨Struts2的文件上传机制。 1. **文件上传原理** 文件上传是基于HTTP协议的POST请求实现的。在HTML表单中,通过`<input type="file" />`元素让用户选择本地文件。当用户提交表单时,浏览器会...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
在本文中,我们将深入探讨Struts2的核心组件——Action,以及如何配置和使用它来构建一个简单的Hello World应用程序。 在Struts1.x中,Action是处理用户请求的核心,它需要继承`org.apache.struts.action.Action`...
### Struts2学习笔记 #### 一、Struts2配置文件详解 在深入理解Struts2框架之前,我们首先需要了解其核心配置文件——`struts.xml`。 **1. struts.xml配置** ```xml <!DOCTYPE struts PUBLIC "-//Apache ...
这篇学习笔记将带你入门Struts2,通过创建第一个实例来理解其核心概念和基本配置。 首先,了解Struts2框架的结构至关重要。Struts2的核心组件包括Action、Result、Interceptor等,它们协同工作,处理HTTP请求并呈现...
当用户发起请求时,Struts2的前端控制器——`StrutsPrepareAndExecuteFilter`过滤器首先捕获请求。这个Filter会处理所有请求的公共部分,如初始化、编码转换等,并根据`struts.xml`配置文件将请求路由到相应的...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...
2. **集成步骤**:详细解释如何在Java Web应用(如Servlet或Struts)中引入SmartUpload,包括添加依赖、初始化配置等。 3. **API使用**:列举并解释关键的API方法,如上传、删除、获取文件信息等。 4. **示例代码**...
本学习笔记主要探讨了Struts2中的校验器(Validator)和校验框架,帮助开发者理解如何有效地实现数据验证,确保应用程序的健壮性。 首先,我们来看Struts2的校验框架。这个框架提供了强大的功能,可以对用户输入...
本文将深入探讨Struts2中的核心概念——拦截器(Interceptor),并结合提供的测试源代码进行讲解。 拦截器在Struts2框架中扮演着至关重要的角色,它们是AOP(面向切面编程)的一个实例,允许开发者在Action调用前后...
博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...
"Hibernate学习笔记.rar"可能包含关于Hibernate的基本概念、配置、实体类的创建、映射文件的编写、CRUD操作、查询语言HQL和Criteria API的使用等内容,这些都是理解和掌握Hibernate的关键。 "Hibernate3.2官方中文...
SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...
### Struts框架中的文件上传功能详解 #### 一、引言 在Web应用程序开发中,文件上传是一项常见的需求。...通过本文的学习,开发者可以更好地理解和掌握Struts框架中的文件上传功能,并能够灵活应用于实际项目中。
"struts2学习笔记(一) ——struts2与spring2_0的集成 - 一嗑立扑死 - CSDN博客.mht"可能详细讨论了如何将Struts2与Spring 2.0版本集成,包括Action的配置和依赖注入的使用。而"Struts2与Spring的结合 - Naviler的...
SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...
在这个“Struts2五种数据封装Demo”中,我们将深入探讨Struts2的数据封装机制,以及如何通过配置文件来操作Servlet的三大核心对象——Request、Session和Application。同时,我们还将了解如何从表单中获取数据并进行...
《Hibernate学习笔记——马士兵教程解析》 在Java开发领域,ORM(Object-Relational Mapping)框架的使用已经非常普遍,其中Hibernate作为一款优秀的ORM框架,因其强大的功能和易用性深受开发者喜爱。本文将根据马...
2. **配置文件**:有两个重要的配置文件——`struts-config.xml`和`web.xml`。前者定义了Struts框架的行为,如Action映射、Form Bean配置等;后者则是在Web应用部署时必须的,用于加载Struts的初始化参数。 3. **...