Ⅰ 使用struts2 web.xml用配置字符集过滤器么
<filter>
<filter-name>filterConfig</filter-name>
<!-- 一定不是com.javaTest.filter.Charset_filter.java,不要加.java,否则返回404错误,根本打不开页面 -->
<filter-class>com.javaTest.filter.Charset_filter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>filterConfig</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
Ⅱ 配置structs过滤器能不能配置不过滤某个请求
fck 不懂什么意思、 我只知道在配置过滤器的时候、你可以只选择过滤.action 的请求、 如果你用/* 的话、那么所有的请求都会过滤的。。。。。
Ⅲ Struts2入口过滤器配置
本人试验了一下配置成*.action index.jsp是可行的,不过一般情况下是配置成/*的 然后结合版struts.properties文件里面的struts.action.extension(定义扩权展名,例如.do,.action等等,多个扩展名中间用逗号隔开)值使用,楼主你最好检查下你的服务器启动日志 看看项目是否正常启动。
Ⅳ struts filter 配置
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
试试抄SessionFilter你自袭己替换成你的过滤器
Ⅳ struts2中如何用过滤器处理中文乱码
<!-- 乱码过滤器 -->
<filter>
<filter-name>CharaterencodeFilter</filter-name>
<filter-class>com.CharaterEncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharaterencodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
放在web.xml里
相应的类也给你
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
public class CharaterEncodeFilter implements Filter {
private FilterConfig config = null;
public void destroy() {
this.config = config;
}
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
config = null;
}
}
Ⅵ 如何配置struts2的过滤器
你说的是拦截器吧
第一步:创建一个类实现Intercepter接口并实现其中方法
第二步:注册拦截器(在struts.xml)如:
<package name="cust"
namespace="/cust"
extends="struts-default">
<interceptors>
<!-- 注册拦截器 -->
<interceptor name="first"
class="com.interceptor.FirstInterceptor"/>
<interceptor name="second"
class="com.interceptor.SecondInterceptor"/>
<!-- 注册拦截器栈,将所有拦截器打包在一起 -->
<interceptor-stack name="mystack">
<interceptor-ref name="first"/>
<interceptor-ref name="second"/>
<!-- 引用自定义的拦截器时,会使struts2自带的拦截器失效
因此,要将默认的拦截器加入到自定义的拦截器栈中 -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!--第三步: 引用拦截器 ,
<action name="toUpdateCustomer"
class="com.action.ToUpdateCustomerAction"
method="execute">
<!-- 引用拦截器 ,
<interceptor-ref name="first"/>
<interceptor-ref name="first"/>-->
<!-- 引用拦截器栈,会一次将所有的拦截器引用 -->
<interceptor-ref name="mystack"/>
<result name="success">
/WEB-INF/cust/update_customer.jsp
</result>
</action>
</package>
供参考
Ⅶ struts2的过滤器配置问题
你在这个配置文件改是不能过滤的,因为它只是个XML文本文件;如果你要细化过滤你想要的东西,必须键一个过滤器的java文件,然后在里面写判断才能实现。
Ⅷ struts2的核心过滤器是什么如何配置该过滤器
就是WeB.xml文件里面的
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Ⅸ struts2配置过滤器与拦截器
你在过滤器中 重定向的啊。我们这个项目是在 拦截器 中返回字符串,然后通过 struts.xml 跳转到 你要跳转的页面。。。。
代码:
这是配置的拦截器。
<!-- 只有admin 用户才能访问的action -->
<package name="onlyadmin" extends="struts-default">
<interceptors>
<!--定义一个名为admin的拦截器-->
<interceptor class="e.cuit.course.interceptor.AdminInterceptor"
name="admin" />
<!--定义一个包含权限检查的拦截器栈-->
<interceptor-stack name="adminInterceptor">
<!--配置内建默认拦截器-->
<interceptor-ref name="defaultStack" />
<!--配置自定义的拦截器-->
<interceptor-ref name="admin">
<param name="excludeMethods">list</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="adminInterceptor" />
<global-results>
<result name="login">/user/userLogin.jsp</result>
</global-results>
【这是全局的result,你就晓得,当自定义拦截器返回login的时候,它就会跳转到你要跳转的页面了。】
<action name="admin" class="e.cuit.course.action.AdminAction">
</action>
<action name="mole" class="e.cuit.course.action.MoleAction">
<result name="addMole">/mole/moleadd.jsp</result>
<result name="addSuccess">/mole/suc.jsp</result>
<result name="listByPageSuccess">/page/molelist.jsp</result>
<result name="update">/mole/moleupdate.jsp</result>
<result name="updateSuccess">/mole/suc.jsp</result>
</action>
<action name="menu" class="e.cuit.course.action.MenuAction">
<result name="add">/menu/menuadd.jsp</result>
<result name="addSuccess">/menu/suc.jsp</result>
<result name="listByPageSuccess">/page/menulist.jsp</result>
<result name="update">/menu/menuupdate.jsp</result>
<result name="updateSuccess" type="redirectAction">
<param name="actionName">menu</param>
<param name="method">listByPage</param>
</result>
</action>
</package>
。。。。。。。。。。。。。。。。。。。。。。。。。。。
这就是自定义的拦截器:
package e.cuit.course.interceptor;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
import e.cuit.course.action.UserAction;
import e.cuit.course.pojo.User;
public class UserInterceptor extends MethodFilterInterceptor {
private static final long serialVersionUID = -4390311642665624081L;
private UserAction userAction = new UserAction();
@Override
public String doIntercept(ActionInvocation invocation) throws Exception {
ActionContext ctx = invocation.getInvocationContext();
Map<String ,Object> session = ctx.getSession();
User user = (User) session.get("user");
if (user == null) {
ctx.put("loginTip", "你还没有登录");
return Action.LOGIN;
}
return invocation.invoke();
}
public void setUserAction(UserAction userAction) {
this.userAction = userAction;
}
public UserAction getUserAction() {
return userAction;
}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
应该差不多了,还有个system 的拦截器,差不多的结构。。要知道 你提交请求的时候,先叫由web。xml然后通过过滤器一层一层到 拦截器,也就是在你的逻辑前加一些 验证的东西,系统的拦截器有很多, invocation.invoke()就是一层一层去 触发拦截器,当系统 的拦截器和 自定义的拦截器 都通过了的时候 才回访问你的 逻辑 action 或者方法,这个叫做aop编程 。面向切面编程。
Ⅹ struts过滤器问题
这个过滤器是用来进行转码的
用户请求会先经过过滤器
执行doFiter方法
你的过滤器少写一句
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
throws IOException, ServletException {
// Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
// Pass control on to the next filter
chain.doFilter(request, response);//该请求通过并进入下一个Filter的doFilter方法
}