【有事找我网】Ueditor+JSP+Struts2使用方法

问题说明:首先说明下环境:Ueditor 1.4.3+Sturts2,JDK1.6,Tomcat6.0。在做这个配置的时候出现了问题,就是图片不能够正常上传,总是会出现上传失败。在下边就会告诉如何解决“图片上传失败”的问题

1、Ueditor的安装

首先,我们从官方网站下载Ueditor JSP版本,UTF-8和GBK编码视自己选择:

然后解压,把解压后的文件放在webroot目录下边,我们看下Ueditor的目录(文件名我们给修改为ueditor了,关于每个目录的作用请看相关文档):

在复制之后,我们需要把ueditor—>jsp—>lib目录下的5个jar包放入WEB-INF——>lib目录下(千万要注意jar包冲突),或者直接build path到系统的jar路径下边。

在添加jar包之后,我们需要验证一下是否是安装成功了。我们先看下我的Ueditor的目录:

所以,我们启动Tomcat之后,在浏览器输入网址(具体的请根据自己的路径设置,可以参照官方文档)::8080/yszw/styles/ueditor/jsp/controller.jsp?action=config

如果能够出现如下界面,证明安装成功:

如果显示如上界面,则为已经安装成功。

2、上传图片

在JSP中,上传图片需要配置:ueditor—>jsp—>config.json这个文件中的imageUrlPrefix和imagePathFormat这两个路径

下边给一张我的配置截图:

在这个路径配置好了后,一般的JSP都是可以使用的,但是在Struts2中是不可以使用的,我们还需要写一个过滤器:

首先,我们需要些一个Filter过滤器类:

<span style="font-size:14px;">package com.hhxy.yszw.filter;import java.io.IOException;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter{public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;String url = request.getRequestURI();if (url.contains("/styles/ueditor/jsp/controller.jsp")) {/*这两句在我的项目中是为了防止乱码,可以不用管req.setCharacterEncoding("UTF-8");res.setCharacterEncoding("UTF-8");*/chain.doFilter(req, res);}else{/*req.setCharacterEncoding("UTF-8");res.setCharacterEncoding("UTF-8");*/super.doFilter(req, res, chain);}}}</span>可以看到,我们写了一个过滤器类(PS:这是过滤器类,不是拦截器类,具体的大家可以搜索拦截器与过滤器区别),继承StrutsPrepareAndExecuteFilter这个类。

然后,我们就要配置web.xml文件了(过滤器想要正常使用必须放在web.xml中):

一般的,我们的struts2在web.xml中是这样配置的<span style="font-size:14px;"><!– 定义Struts2的核心Filter –><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><!– 让Struts2的核心Filter拦截所有请求 –><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping> </span>现在我们修改成这样子的

<span style="font-size:14px;"><filter><filter-name>struts2</filter-name><filter-class>com.hhxy.yszw.filter.MyStrutsFilter</filter-class></filter> <filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></span>可以看到,我们在filter-class改变了路径。如果已经按照以上配置好了之后,图片上传功能已经可以使用了。

疑问:为什么我们要加上这个过滤器就可以上传图片了呢?(其实我也不是特别明白,这就需要深入Struts2对连接处理的过程了)

成功是奋斗的结果,而奋斗是成功的必经之路。

【有事找我网】Ueditor+JSP+Struts2使用方法

相关文章:

你感兴趣的文章:

标签云: