struts官方网址:
http://struts.apache.org
1.新建web工程,导入基本的5个jar包:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
2.配置web.xml过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.新建Action(LoginAction),它是一个POJO
package com.test.bean;
public class LoginAction {
private String username;
private String password;
// setter和getter ...
//Action中的处理方法
public String execute(){
if( "yueyan".equals(this.getUsername().trim()
&& "123".equals(this.getPassword().trim())) {
return "success";
}else{
return "error";
}
}
}
4.在src目录下(运行时实际是WEB-INF/classes目录),新建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="struts2" extends="struts-default">
<action name="login" class="com.test.struts2.action.LoginAction">
<result >/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
<result>节点的name属性若不写,则默认为name="success"
5.login.jsp页面
<form action="login.action" method="post">
用户名:<input type="text" name="username" /><br>
密码:<input type="password" name="password" /><br>
<input type="submit">
</form>
成功页面success.jsp 失败页面error.jsp 省略
对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
package com.test.struts2.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction2 extends ActionSupport {
private String username;
private String password;
// setter和getter
/** 处理 */
@Override
public String execute(){
if( "yueyan".equals(this.getUsername().trim())
&& "123".equals(this.getPassword().trim()) ){
return "success";
}else{
return "error";
}
}
/** 验证 */
@Override
public void validate() {
if( "".equals(this.getUsername().trim()) ){
this.addFieldError("username", "用户名为空");//给字段添加错误信息
}
if( "".equals(this.getPassword().trim()) ){
this.addFieldError("password", "密码为空");
}
}
}
2.struts.xml中添加一个新的action
<action name="login2" class="com.test.struts2.action.LoginAction2">
<result >/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="input">/login.jsp</result>
</action>
<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
3.login.jsp中使用struts2的标签
先导入标签库:
<%@ taglib prefix="s" uri="/struts-tags" %>
使用标签:
<s:form action="login2">
<s:textfield name="username" label="用户名" />
<s:password name="password" label="密 码" />
<s:submit label="提交" />
</s:form>
分享到:
相关推荐
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
5. **类型转换与输入校验**:Struts2在类型转换过程中也会进行基本的校验,如检查非空、数值范围等。 **四.Struts2的核心:拦截器** 拦截器是Struts2的核心组件,它们在Action执行前后介入处理流程。拦截器可以...
本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...
这篇学习笔记将带你入门Struts2,通过创建第一个实例来理解其核心概念和基本配置。 首先,了解Struts2框架的结构至关重要。Struts2的核心组件包括Action、Result、Interceptor等,它们协同工作,处理HTTP请求并呈现...
总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...
这份"struts2学习笔记和源码"资源是学习这个框架的理想材料,特别适合初学者。 一、Struts2框架基础 Struts2是Apache软件基金会下的一个项目,它是Struts1的升级版,弥补了Struts1的一些不足,如动作映射和拦截器等...
在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...
通过这个"struts2学习笔记",你将有机会深入学习Struts2框架,掌握其基本用法和高级特性,提升你在Java Web开发领域的技能。记得结合实际项目练习,理论与实践相结合,才能更好地掌握和运用Struts2。