package com.test.bean;
import java.util.Date;
public class User
{
private String username;
private String password;
private String repassword;
private int age;
private Date birthday;
private Date graduation;
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;
}
public String getRepassword()
{
return repassword;
}
public void setRepassword(String repassword)
{
this.repassword = repassword;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public Date getBirthday()
{
return birthday;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public Date getGraduation()
{
return graduation;
}
public void setGraduation(Date graduation)
{
this.graduation = graduation;
}
}
package com.test.bean;
public class Point
{
private int x;
private int y;
public int getX()
{
return x;
}
public void setX(int x)
{
this.x = x;
}
public int getY()
{
return y;
}
public void setY(int y)
{
this.y = y;
}
@Override
public String toString()
{
return "x = " + x + " y = " + y;
}
}
package com.test.exception;
public class PasswordException extends Exception
{
private String message;
public PasswordException(String message)
{
super(message);
this.message = message;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
}
package com.test.exception;
public class UsernameException extends Exception
{
private String message;
public UsernameException(String message)
{
super(message);
this.message = message;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
}
package com.test.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyInterceptor implements Interceptor
{
private String hello;
public String getHello()
{
return hello;
}
public void setHello(String hello)
{
this.hello = hello;
}
public void destroy()
{
System.out.println("destroy");
}
public void init()
{
System.out.println("init");
System.out.println(hello);
}
public String intercept(ActionInvocation invocation) throws Exception
{
System.out.println("intercept");
String result = invocation.invoke();
System.out.println("finish");
return result;
}
}
package com.test.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class MyInterceptor2 extends AbstractInterceptor
{
@Override
public String intercept(ActionInvocation invocation) throws Exception
{
System.out.println("intercept2");
String result = invocation.invoke();
System.out.println("finish2");
return result;
}
}
package com.test.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
import com.test.listener.MyListener;
public class MyInterceptor3 extends MethodFilterInterceptor
{
@Override
public void init()
{
System.out.println("init3");
}
@Override
protected String doIntercept(ActionInvocation invocation) throws Exception
{
invocation.addPreResultListener(new MyListener());
System.out.println("my interceptor3");
String result = invocation.invoke();
System.out.println("after my interceptor3 finished");
return result;
}
}
package com.test.interceptor;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class AuthInterceptor extends AbstractInterceptor
{
@Override
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation invocation) throws Exception
{
Map map = invocation.getInvocationContext().getSession();
if(map.get("user") == null)
{
return Action.LOGIN;
}
else
{
return invocation.invoke();
}
}
}
分享到:
相关推荐
3. **src/test**:测试代码,可以帮助我们了解如何测试Struts2的功能和组件。 4. **src/main/resources**:资源文件,如配置文件、本地化字符串等。 5. **pom.xml**:Maven项目对象模型文件,用于构建和管理项目依赖...
在src中,你可以研究`org.apache.struts2.config`包下的类,如`PackageConfigBuilder`和`StrutsConfig.xml`解析器,了解Struts2如何读取并解析配置文件,以建立应用的配置模型。 3. **拦截器机制**: Struts2的...
- `core`: Struts2的核心组件,包括Action、Interceptor、Result等核心类。 - `plugins`: 各种预定义的插件,如JSON、FreeMarker、Tiles等视图技术的支持。 - `xwork`: XWork是Struts2的基础,包含了AOP(面向切面...
【标题】:“Hibernate+Struts2 项目源码”是一个基于流行Java开发框架的实践项目,旨在教授如何结合使用Hibernate对象关系映射框架与Struts2 MVC(模型-视图-控制器)框架来构建Web应用程序。 【描述】:这个项目...
4. **拦截器**:可能有自定义的拦截器类,它们位于src/main/java目录下,扩展了Struts2的Interceptor接口。 5. **web.xml**:虽然Struts2可以不依赖web.xml配置文件工作,但在实际项目中,可能仍会在此处进行一些...
同时,Struts2的拦截器(Interceptor)可以与Spring的AOP相结合,增强Action执行前后的逻辑处理。 Hibernate作为ORM(对象关系映射)框架,负责数据库的CRUD操作。在整合Spring后,SessionFactory和Session可以通过...
3. **Interceptor(拦截器)**:拦截器是Struts 2的一大特色,它允许在Action执行前后插入自定义逻辑,如日志、权限验证等。拦截器链可以灵活配置,提高了代码复用和解耦。 4. **ValueStack**:这是一个数据容器,...
相比于Struts1,Struts2采用了全新的体系结构,以WebWork为核心,通过拦截器(interceptor)的方式来处理用户请求。这种方式使得业务逻辑控制器能够完全脱离Servlet API,增加了应用程序的灵活性和可扩展性。 #### 二...
Struts2 是 Apache 组织开发的一个开源的 MVC 框架,它是 Struts1 的升级版,结合了 Webwork 的优点,提供了更加灵活和强大的功能。Struts2 的核心设计目标是提供一种简单的方式来构建基于 Java 的 Web 应用程序,...
Struts2作为Java EE领域的一个强大MVC框架,广泛应用于构建企业级Web应用。将SwfUpload与Struts2整合,可以创建高效、友好的文件上传界面。接下来,我们将详细探讨这个主题。 首先,SwfUpload的工作原理。它利用了...
在Struts2框架中,核心概念包括Action、Result、Interceptor(拦截器)和Plug-in(插件)。Action是处理请求的核心,Result定义了请求处理后的结果,比如跳转到某个页面或者返回JSON数据。Interceptor允许在Action...
import org.apache.struts2.interceptor.FileUploadInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class ...
10. **测试框架**:Struts 2的源码包含了测试代码,如`src/test/java`目录下的类,可以帮助开发者理解和测试框架行为。 深入学习Struts 2.0.14源码,可以理解其内部的工作流程,有助于提升Web应用的开发和调试能力...
Struts2 国际化实现详解 Struts2 框架在实际开发中经常需要实现国际化, especialmente 在 SSH 架构中,实现国际化是一个必不可少的步骤。本文将详细介绍如何在 Struts2 框架中实现国际化。 资源文件配置 在 ...
在`src/main/java`下,你会看到XWork的核心类,如`com.opensymphony.xwork2.ActionSupport`,它是所有动作类的基类,提供了默认的行为,如结果映射、国际化处理等。 `plugins`目录包含了Struts 2的插件,这些插件...
- **Action类**:开发者需要创建Action类来处理用户请求,这些类通常继承自`org.struts2.interceptor.struts2.StrutsPrepareAndExecuteFilter`或实现`com.opensymphony.xwork2.Action`接口。 - **Tiles框架集成**...
Struts2提供了丰富的拦截器(Interceptor)机制,可以方便地实现登录验证、权限控制等功能。它与Spring的整合使得控制层的实现更为简洁,同时提供了强大的视图展示能力。 【MyBatis框架】是一个持久层框架,它允许...
Struts2 是基于 MVC 设计模式的 Java Web 框架,提供拦截器(Interceptor)机制,用于处理请求和响应,支持多种结果类型和插件扩展。Struts2 的核心配置文件是 `struts.xml`,在这里定义 Action 映射和结果。 ...
2. `src/main/resources`: 这里存放了框架运行所需的配置文件,如struts-default.xml、xwork.xml等,这些配置文件定义了框架的行为和默认设置。 3. `src/test/java` 和 `src/test/resources`: 这两个目录包含了单元...
- Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点,同时引入了更多现代框架的特点,如拦截器(Interceptor)机制,增强了灵活性和可扩展性。 - 在本项目中,通过MyEclipse添加Struts ...