//以下属性信息都是从前台(JSP页面获得)
private
String username;
private
String mymsg;
private
String password1;
private
String password2;
private
Date birthday;
public
String execute(){
if
(username!=null
&&this
.getPassword1().equals(this
.getPassword2())&&!this
.getUsername().trim().equals("")){
//输出调试信息
System.out.println("Action信息,正在执行Action.... "
);
return
SUCCESS;
}else
{
return
INPUT;
}
}
public
String getUsername() {
return
username;
}
public
void
setUsername(String username) {
this
.username = username;
}
public
String getMymsg() {
return
mymsg;
}
public
void
setMymsg(String mymsg) {
this
.mymsg = mymsg;
}
public
String getPassword1() {
return
password1;
}
public
void
setPassword1(String password1) {
this
.password1 = password1;
}
public
String getPassword2() {
return
password2;
}
public
void
setPassword2(String password2) {
this
.password2 = password2;
}
public
Date getBirthday() {
return
birthday;
}
public
void
setBirthday(Date birthday) {
this
.birthday = birthday;
}
}
//拦截方法
public
String intercept(ActionInvocation invocation)
throws
Exception {
MyAction myA=(MyAction) invocation.getAction();
System.out.println("拦截器信息:hello world 拦截器"
);
//执行action或者下一个拦截器
String result=invocation.invoke();
System.out.println("拦截器信息:Action执行完毕"
);
return
result;
}
}
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<
struts
>
<
package
name
="mynew"
namespace
="/"
extends
="struts-default"
>
<
interceptors
>
<
interceptor
name
="myInterceptor"
class
="com.MyInterceptor"
>
</
interceptor
>
</
interceptors
>
<
action
name
="myAction"
class
="com.MyAction"
>
<
result
name
="success"
>
/success.jsp</
result
>
<
result
name
="input"
>
/index.jsp</
result
>
<!--
引用默认拦截器
-->
<
interceptor-ref
name
="defaultStack"
>
</
interceptor-ref
>
<!--
引用自定义拦截器
-->
<
interceptor-ref
name
="myInterceptor"
>
</
interceptor-ref
>
</
action
>
</
package
>
</
struts
>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<
struts
>
<
constant
name
="struts.devMode"
value
="true"
/>
<
include
file
="my.xml"
>
</
include
>
</
struts
>
<
%@
taglib
prefix
="s"
uri
="/struts-tags"
%>
<
html
>
<
head
>
</
head
>
<
body
>
<
s:form
method
="post"
action
="myAction"
>
<
s:textfield
name
="username"
label
="用户名"
>
</
s:textfield
>
<
s:password
name
="password1"
label
="密码"
>
</
s:password
>
<
s:password
name
="password2"
label
="确认密码"
>
</
s:password
>
<
s:submit
value
="注册"
>
</
s:submit
>
</
s:form
>
</
body
>
</
html
>
pageEncoding="UTF-8"
%>
<%@ taglib prefix="s"
uri="/struts-tags"
%>
<!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>Insert title here</title>
</head>
<body>
<h3>注册成功</h3>
用户名:<s:property value="username"
/><p>
密码: <s:property value="password1"
/>
</body>
</html>
Action信息,正在执行Action....
2010-11-1 20:39:11 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Could not find property [org.apache.catalina.jsp_file]
拦截器信息:Action执行完毕
相关推荐
Struts2拦截器登录验证实例
本篇文章主要介绍了Struts2拦截器登录验证实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
struts2拦截器的应用(检查登录的拦截器案例)
一点废话在上篇文章中我们已经说了如何自定义拦截器。 那么我们就可以使用自定义拦截器来实现日常我们经常遇到的小功能。 例如: 在慕课网 我们找到视频要点击开始学习时,会弹出登录的页面。 在京东网上买商品时,点击结算也会弹出登录的页面 在这里使用我们的自定义拦截器就能够实现这个功能。检查登录的拦截器案例需求 首先说说我们的需求: 1.假设我们共三个页面,登录页面,主页,其它页面
OpenCode:开源代码智能代理平台的全面解析
OpenCode是一个开源代码智能代理平台,采用模块化微服务架构,支持多种AI模型集成。该系统包含前端交互层、代理服务层和模型集成层,提供Build、Plan和General三种代理模式,分别负责代码编写、分析和复杂任务处理。OpenCode支持跨平台安装,具备权限验证、上下文感知等安全机制,并集成LSP协议实现深度代码理解。相比竞品,其开源特性、终端优先设计和提供商无关架构具有明显优势,适用于个人开发、团队协作等多种场景,为开发者提供强大的AI辅助编程能力。
struts2拦截器的一个使用实例
一个关于struts2自定义拦截器使用的例子,觉得很好,记录下来,以备后用。 要求:建立一个拦截器,用户名后缀为“r”的才允许访问“/sec”命名空间下的所有 action。 (拦截器、struts.xml,需 要定义拦截器堆栈、缺省拦截器引用等) 关于拦截器的基础知识可以查看拦截器的使用网上教程一大堆,自己随便搜搜就有了,在此不加探讨。 一、项目结构图 二、主要j...
云漾AI创作平台实战:如何用GPT4.0+Midjourney快速生成商业级插画(附Prompt模板)
本文详细介绍了如何利用云漾AI创作平台结合GPT4.0和Midjourney快速生成商业级插画。通过智能文案生成与视觉化工作流,大幅提升创作效率,适用于电商、社交媒体等多种场景。文章包含实用Prompt模板和参数调整技巧,帮助设计师和内容创作者高效产出专业插画。
TI C2000 DSP CLA实战:用F28069的协处理器实现ADC采样与PWM相位实时联动控制
本文详细介绍了如何利用TI C2000系列DSP的CLA协处理器在TMS320F28069上实现ADC采样与PWM相位的实时联动控制。通过CLA的零周期上下文切换和硬件级任务触发特性,显著提升了电机控制和数字电源应用的实时性能,特别适用于需要亚微秒级响应的场景。
Struts2拦截器配置(简单的登陆后的权限验证)
简单登陆后的权限验证 1.UserAction public String login(){ //为防止用户重复提交同一请求(当直接在地址栏输入请求时,) session=context.getSession();//首先获取session User userSession=(User)session.get("user...
STM32G474片内运放实战:从独立模式到PGA与ADC采样链路
在嵌入式控制系统中,运放是连接模拟信号与数字处理的关键环节。传统方案依赖外部分立运放搭建放大电路,存在成本高、PCB布局敏感、一致性差等痛点。STM32G474在MCU内部集成多路可编程运放(OPAMP),支持独立模式、跟随器、PGA以及比较器模式,配合内部ADC和DMA可构成完整模拟采集链路。通过片内互联,信号路径大幅缩短,抗干扰性和通道一致性显著提升,尤其适用于电机电流采样、数字电源等场景。本文以STM32G474为例,详解从独立模式到PGA增益配置,再到ADC与DMA联动调试的完整过程,并给出采样时间
Struts2拦截器简单模拟
简单模拟了下Struts2拦截器的原理。 首先定义Interceptor接口: package com.kaso.interceptor; public interface Interceptor { public String intercept(ActionInvocation invocation); } 该接口中引用了ActionInvocation类: p
【一看就会】autoware universe项目结构解析——从一层一层直到control源码
下载安装autoware universe花了一天。下载好之后,按照网上说的跑了一下仿真是能跑的,证明下的代码没问题。然后就得看一下各模块实现的源码了。但是当我打开这些文件的时候。我勒个豆。这么多是个玩意儿。我连该启动哪个launch文件,哪个文件夹是干啥的都不知道。在我慢慢弄懂之后,我也记录这个庞大的项目的各个文件夹和里面的文件以及项目,以及自己使用时应该启动哪些launch文件。这篇文章目的就是通过找到control部分的源码,来帮助我们梳理这个庞大项目的各个文件的功能。
Android Framework SurfaceFlinger面试题及参考答案
请简述 SurfaceFlinger 在 Android 系统中的作用。 SurfaceFlinger 是 Android 系统中一个非常关键的服务。它主要负责将多个应用程序的 Surface 合成到一个屏幕显示内容中。 从应用程序的角度来看,每个应用都有自己的 UI 界面,这些 UI 界面实际上是由一系列的图层(Surface)构成。例如,一个应用可能有背景图层、按钮图层、文本图层等。应用通过向 SurfaceFlinger 提供这些 Surface 来请求显示。 SurfaceFl
struts2拦截器(简单)
1.LoginAction.java package lee; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private String username; private String password; public String getUser...
【Embabel Agent】生产级最佳实践与避坑指南
本文围绕架构师最关心的 8 大维度展开:测试策略(FakeOperationContext 实现 Action 级单元测试、Prompt 质量与敏感信息校验)、MCP 集成实战(STDIO/HTTP 双模式、自建 Server、Docker MCP 生态)、RAG 检索增强、OpenTelemetry 全链路可观测性与追踪、Docker/K8s 生产部署、API Key 管理与 @Tool 安全防护、模型选择/缓存/并行等性能优化,以及过度依赖 LLM、忽略错误处理等 8 大常见反模式避坑指南。
编写一个简单的Struts2 拦截器
在Allegro设计界面中如何修改封装焊盘
在高密度板的情况下,SUIPLA(支持内层没有的焊盘摘掉)打勾,在高密度板的情况下,内层没有的焊盘摘掉可以增加走线的空间。3、修改完焊盘后,选择File→Update to Design(更新到设计)。然后关闭焊盘修改对话框即可。,将会定期不定期更新技术文章,互相学习交流。或者点击Options选项卡下要修改的焊盘,然后点击Edit修改。在Allegro PCB设计界面中修改封装焊盘的方法。2、然后点击封装上要修改的焊盘,右击选择Edit。修改完成后如下图所示。
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
MyEclipse struts2 拦截器处理用户请求简单实例
Struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
Struts2拦截器注解的简单例子
最近开发一个项目,技术架构由spring2+hibernate3+struts2+freemarker搭建。struts2的action视图转发工作,本人觉得用注解直接在代码上配置很方便,想省去了配置struts.xml操作。但就是由于自己懒惰,在开发过程中遇到了一些麻烦,因为对struts2注解的不熟悉,不知道怎样做拦截器的注解,后来经过在网上查资料和自己不断的搞测试,终于把问题搞定了。 下面...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
struts2的拦截器的简单使用
struts2的拦截器使用
Struts2拦截器的一个简单应用
<br />前言:大家都知道Struts2的拦截器和Servlet的过滤器类似.但是个人觉得Struts2的拦截器功能上不如Servlet过滤器的强大.<br />原因有两点: 1、拦截器只能对action进行拦截,而不能拦截JSP页面<br /> 2、拦截器只能在表单提交以后发挥作用,而对直接在地址栏上输入的url无法进行拦截.从而导致不能进行完整的身份认证.<br />在Struts2中我还没有发现能够解决以上两个问题的办法,姑且暂时先用Struts2的拦截器做了一个登陆
struts2实现简单拦截器
struts2实现拦截器的方法有三种: 1:实现Interceptor接口,需要实现init(),destroy(),intercept(ActionInvocation actionInvocation)三个方法。 2:继承AbstractInterceptor,只需要重写intercept(ActionInvocation actionInvocation)方法,他帮我
struts2实现简单action时间拦截器
//jsp index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+re
Struts2中拦截器的简单实现
Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前,Struts2会首先执行struts.xml中引用 的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法。在Struts2的拦截器体系中, Struts2的内建拦截器完成了该框架的大部分操作,所以实际的开发过程中通常都是使用系统的拦截器而已。当然我们也可
struts2简单的自定义interceptor拦截器入门
interceptor拦截器可以对请求在到达Action之前的做出一些预处理,也就是到达Action之前干一些事我们都知道很多网站都有这样的限制,如某宝,只有用户登录了才能查看自己的购物车,订单,收藏夹等,视频网站也会要求你登录以后才能下载视频或文件,就像优快云需要你登录才能下载资料.那么网站是如何知道你有没有登录,又是如何限制用户下载的呢?本文通过简单的案例来入门struts2简单的自定义in...
3178



被折叠的 条评论
为什么被折叠?



