Chinaunix首页 | 论坛 | 博客
  • 博客访问: 474425
  • 博文数量: 155
  • 博客积分: 2954
  • 博客等级: 少校
  • 技术积分: 1000
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-12 22:00
文章分类

全部博文(155)

文章存档

2014年(2)

2013年(5)

2012年(10)

2011年(33)

2010年(105)

我的朋友

分类: Java

2010-01-13 20:53:34

准备工作先要有2个配置文件+1个jar包

配置文件1:urlrewrite.xml
写道

"">






^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?.html$
/$1.action




^/struts/css_xhtml/validation.js$
/template/css_xhtml/validation.js





^//services/(.*)$
/services/$1



配置文件2:web.xml

在web.xml文件中插入一个filter
写道


UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter


logLevel
WARN



UrlRewriteFilter
/*
REQUEST
FORWARD


1个jar包:urlrewritefilter-3.1.0.jar

但是这样配置会遇到问题

因此需要在web.xml文件中添加一个东西,完整的filter链如下:
写道


UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter


logLevel
WARN




struts2-cleanup

org.apache.struts2.dispatcher.ActionContextCleanUp



UrlRewriteFilter
/*
REQUEST
FORWARD


struts2-cleanup
/*
REQUEST
FORWARD



struts2

org.apache.struts2.dispatcher.FilterDispatcher



struts2
/*
REQUEST
FORWARD



encodingFilter

org.springframework.web.filter.CharacterEncodingFilter


encoding
UTF-8



encodingFilter
/*


1、在web.xml中EncodingFilter的位置应该在Struts2的FilterDispatcher之前,道理很简单,要先调整字符集,再进入Action。

2、如果使用Urlrewrite,要指定filter-mapping的dispatcher方式,如下

    Struts2
    /*
    REQUEST
    FORWARD


3、在做上传文件的时候,要在web.xml中增加ActionContextCleanUp这个filter,如果不增加,会发生第一次上传取不到文件的情况

struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanUp


    struts-cleanup
    /*

按照Struts2的API,filter的顺序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher

图片不显示,页面加入下面代码

    <% 
    String path = request.getContextPath(); 
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
    %> 
    
阅读(1015) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~