1.使用叫做token的拦截器,在表单中加入<s:token></s:token>
在login.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <center> <form action="login.action" method="post"> <s:token></s:token> userName:<input type="text" name="username"/><br> passWord:<input type="text" name="password"/><br> <input type="submit" value="Submit"/> </form> </center> </body> </html>
2.写一个Action类 LoginAction extends ActionSupport
package com.jsu.struts2.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private String username; private String password; @Override public String execute() throws Exception { System.out.println("username="+username+"password="+password); System.out.println("OK"); System.out.println(" Action Execute..."); return SUCCESS; } 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; } }
3.在struts.xml中配置
<struts> <package name="loginDemo" namespace="/" extends="struts-default"> <action name="login" class="com.jsu.struts2.action.LoginAction"> <interceptor-ref name="token"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> <result>/index.jsp</result> <result name="invalid.token">/error.jsp</result> </action> </package> </struts>
4.在浏览器地址栏http://localhost:8080/struts2_04/login.jsp 提交数据之后,在回退,在重复提交会显示到错误页面,观察控制台输出的信息
发表评论
-
struts2day06 自定义结果
2012-07-16 12:14 673类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 950Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8521.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 834Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day05学习笔记
2012-07-13 22:19 6761.自定义拦截器 1.im ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6771.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6501、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17811.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8691.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11861.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 6201.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 716Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 765Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 806Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9481.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1188在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6661.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10471.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6521.在opt.jsp页面 <%@ page langu ... -
Struts2day02使用通配符调用指定的方法
2012-07-10 07:14 7301.在opt.jsp页面 <%@ page langu ...
相关推荐
`Struts2Day2_token`可能讲解了防止重复提交的Token机制。在多用户并发环境下,为了避免同一表单被多次提交导致数据异常,Struts2提供了Token插件。它在客户端存储一个令牌,并在服务器端验证,如果发现重复提交,...
掌握级别的作业则更进一步,要求学生能够运用Struts2框架编写简单的Web应用程序,例如实现用户登录功能、表单验证等功能,这需要学生熟练掌握Struts2的核心配置文件(struts.xml)以及Action类的设计方法。...
4. **Action与结果**:每个Action代表一个业务操作,当用户提交表单或点击链接时,Struts2会根据配置找到相应的Action进行处理。处理完成后,Action会返回一个Result,Result可以是重定向、转发到另一个JSP页面或者...
现在,我们来看这个"struts2day04"和"struts2day04CRUD"案例,它们很可能是关于创建、读取、更新和删除(CRUD)操作的基础示例: 1. **创建(Create)**:可能涉及到一个表单,用户输入数据,然后提交到服务器。...
在Struts2中,可以通过多种方式实现表单验证: - **使用字段级验证**:为每个字段设置验证规则。 - **使用Action级验证**:在Action类中实现`validate()`方法来进行验证。 - **使用拦截器**:通过自定义拦截器进行...
其中,Struts2的核心标记库(Core Tag Library)是Struts2中最常用的一组标签,它们提供了多种用于表单、数据展示、URL构建等功能的标签。 #### 1.2 使用场景 在Web应用开发中,经常需要处理各种表单数据以及显示数据...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
在"day04.txt"和"struts2_04、struts2_05"的文件中,可能包含了具体的案例分析和实践操作,比如创建Action类、编写配置文件、使用拦截器、处理表单提交等。通过这些实例,你可以更好地理解Struts2框架的使用方式,...
5. **创建JSP页面**:创建`nameform.jsp`页面用于接收用户的输入,并通过表单提交到Struts2的Action处理方法。 ```html <title></title> <form action="/outman/day01/welcome.action" method="post"> ...
7. **Day01_StrutsUpload**:这个文件夹可能包含了一个示例项目,其中包括了Struts2配置文件、Action类、HTML表单以及相关的资源文件。通过分析这些文件,你可以看到一个完整的Struts2文件上传应用的结构和实现细节...
- Struts2有一个强大的插件体系,如Struts2-dojo-plugin提供AJAX支持,Struts2-convention-plugin实现自动Action映射等。 - 学习中可能会接触到这些插件的安装和使用。 8. **Tiles框架集成** - Struts2可以与...
在Struts2中,Action返回的结果通常会与一个JSP页面关联,通过Struts2标签库(如s:form、s:textfield等)来渲染表单和显示数据。 总的来说,这个小案例是一个很好的实战练习,涵盖了JavaEE开发中的重要组成部分,...
根据提供的文件信息,我们可以归纳出以下相关...这些内容不仅涵盖了Struts2的基础概念,还涉及到了OGNL表达式的使用、ValueStack的管理以及分页功能的具体实现方法等,对于学习和实践Struts2都是非常有价值的参考资料。
根据给定的文件信息,我们可以总结出以下关于Struts2框架的重要知识点: ### 一、Struts2框架介绍 Struts2是一个基于MVC模式的Java Web应用框架,它简化了Web应用程序的开发过程,提供了丰富的插件和标签库来支持...
4. **编写视图**:使用Struts2的标签库创建登录表单。 5. **测试**:启动Tomcat服务器,访问登录页面进行测试。 通过以上介绍,我们可以看到Struts2不仅提供了一种优雅的方式来构建Web应用,还通过其强大的功能简化...
在提供的压缩包文件中,"struts_day_01.pdf"可能涵盖了Struts的基本概念和安装配置,"struts_day_02[3].pdf"可能涉及了标签库的使用,"struts_day_05.pdf"可能讲解了验证框架的详细操作,而"struts_day_06.pdf"可能...
4. **Validation**:Struts2提供了强大的验证框架,可以进行表单字段的验证,包括客户端和服务器端验证。XML文件验证是其中一种方式,通过配置XML文件定义验证规则,而手工验证则是在Action类中直接编写代码实现。 ...
`day54_struts_拦截器,国际化,重复提交`表明这个部分可能涵盖了Struts2的拦截器机制,它允许开发者在请求处理前后插入自定义逻辑,如身份验证、日志记录等。国际化(i18n)则涉及如何支持多种语言,而防止重复提交...
本题涉及Struts2的核心概念、配置文件、前端控制器以及数据模型的表示。 1. 在Struts2中,`struts.xml`配置文件定义了应用的行为。在给出的配置代码中: ```xml <package name="struts2" extends="struts-default" ...