I am new to Struts2 framework. i am working with custom interceptors to write logic for session management in my interceptor class which would be fired before accessing home page.here I have dummy custom interceptor only to check wether it executes or not but it throws exception while registering interceptor class. I dont know that is reason behind it.I just want it to work so that I could write my main logic than. Thanks dev. Here is my code.
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<s:form action="login">
<s:textfield name="name" label="Username"/>
<s:submit value="Submit"/>
</s:form>
</body>
</html>
struts.xml
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="MyInterceptor" class="MyActions.MyInterceptor"/>
<interceptor-stack name="mystack">
<interceptor-ref name="MyInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<action name="default">
<result>index.jsp</result>
</action>
<action name="login" class="MyActions.Login">
<interceptor-ref name="mystack"/>
<result name="SUCCESS">success.jsp</result>
</action>
</package>
</struts>
MyInterceptor.java
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyInterceptor implements Interceptor {
@Override
public String intercept(ActionInvocation invoke) throws Exception
{
System.out.println("Preprocessing.........");
String ret=invoke.invoke();
System.out.println("Post processing.........");
return ret;
}
@Override
public void destroy() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void init() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
Login.java
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
String name;
public String execute()
{
return "SUCCESS";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
success.jsp
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>
Hellow, <s:property value="name"/>
</h1>
</body>
</html>