导航:首页 > 净水问答 > spring过滤双引号

spring过滤双引号

发布时间:2021-12-18 18:23:28

⑴ SpringMVC中,如果想对所有表单提交的数据进行过滤/转义,怎么操作比较简单

最好的办法就是整个过滤器,然后获取表单信息存入数据库

⑵ springmvc4基于java config怎么配置字符过滤器

http://hanqunfeng.iteye.com/blog/2114967

⑶ 如何使用spring的字符编码过滤器

有过滤器还乱,我猜猜,
1请求方式用post呗
2页面编码utf-8

⑷ spring过滤器和拦截器的区别

过滤器和拦截器的区别:

①拦截器是基于java的反射机制的,而过滤内器是基于函数回调。

②拦容截器不依赖与servlet容器,过滤器依赖与servlet容器。

③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。

④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。

⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。

⑥拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。

⑸ spring jdbctemplate使用 字符参数时要不要单引号

并且也是预编译的 如果参数是这个 String s ="1,2,3,4"; 那个 sql 需要 4个问号,参数也是4个,

⑹ 在springmvc中使用过滤器chain.dofilter 出不去

如果走chain的话,通过chain.doFilter(request,response)这个方法会立即跳转到被拦截的servlet并且执行完还要再返回filter.chain相当于一扇门,从这扇门出去再从这扇门回来.调用filter的方法就是在web.xml中配置,需要配置一个与你需要拦截的servlet相同的url-pattern.
<!-- 配置一个过滤器 -->
<filter>
<filter-name>suibianxie</filter-name>
<filter-class>com.etoak.filter.MyEncoding</filter-class>
<!-- 配置一个私有参数 -->
<init-param>
<param-name>mycode</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<!-- 拦截的先后顺序和mapping的顺序有关 -->
<filter-mapping>
<filter-name>suibianxie</filter-name>
<!-- 注意这里和要拦截的servlet的url-pattern必须一致,等于是过滤器
抢在servlet之前拦截住了 -->
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>
<!-- 配置第二个过滤器 -->
<filter>
<filter-name>suibianxie2</filter-name>
<filter-class>com.etoak.filter.Naming</filter-class>
</filter>
<filter-mapping>
<filter-name>suibianxie2</filter-name>
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.etoak.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/Test</url-pattern>
</servlet-mapping>

⑺ spring mvc强制返回类型为json时怎么去除前后的双引号

spring mvc有个@responsebody 不用拼json串 ,会自动帮你拼好并返回给前端。至于你的双引号 感觉你在拼json的时候出现了问题。。。

⑻ springmvc contriller返回string类型,双引号里只能写数字 要不ajax返

在springmvc的controller中加上注解@ResponseBody。
这跟ajax返回error无任何关联。可能你写的对应的数据类型不对。

⑼ SpringMVC的拦截器和过滤器的区别与联系

1、首先要明确什么是拦截器、什么是过滤器
1.1 什么是拦截器:
拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。
在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。
谈到拦截器,还有一个词大家应该知道——拦截器链(Interceptor Chain,在Struts2中称为拦截器栈 Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。
1.2. 拦截器的实现原理:
大部分时候,拦截器方法都是通过代理的方式来调用的。Struts2的拦截器实现相对简单。当请求到达Struts2的ServletDispatcher时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表(list),最后一个一个地调用列表中的拦截器。
1.3 什么是过滤器
过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
①以常规的方式调用资源(即,调用servlet或JSP页面)。
②利用修改过的请求信息调用资源。
③调用资源,但在发送响应到客户机前对其进行修改。
④阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。

1.4 Servlet过滤器的基本原理
在Servlet作为过滤器使用时,它可以对客户的请求进行处理。处理完成后,它会交给下一个过滤器处理,这样,客户的请求在过滤链里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改的注册信息”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话是否有效;对提交的数据进行统一编码。这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。

2、拦截器与过滤器的区别 :
1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

拦截器的代码实现(以struts2为例):
1、在xml文件中如何定义拦截器
<interceptors>
<interceptor name="filterIPInterceptor"
class="com.xxxx.web.FilterIPActionInterceptor" />
<interceptor-stack name="filterIPStack">
<interceptor-ref name="defaultStack" />

<interceptor-ref name="filterIPInterceptor" />
</interceptor-stack>
</interceptors>

2、怎么遍别写自定义拦截器

public class FilterIPActionInterceptor extends AbstractInterceptor
{
/** 日志控制. */
private final Log log = LogFactory.getLog(getClass());

/**
* @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
*/
@Override
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation invocation) throws Exception
{
String result = null;
// 获得当前方法名.
String methodName = invocation.getInvocationContext().getName();
String currIp = null;
try
{
if (invocation.getAction() instanceof PortletAction)
{
PortletAction action = (PortletAction) invocation.getAction();
currIp = action.getRequest().getRemoteAddr();
}
String ip = ApplicationResource.getHotValue("ALLOW_CACHE_IP");

if (StringUtils.isBlank(ip) || StringUtils.isBlank(currIp))
{
log.error("允许刷新的IP不存在或当前请求的IP非法.");
throw new NoAllowIPException();
}
else
{
String[] ips = ip.split(",");
boolean errorIp = true;
for (String s : ips)
{
if (s.equals(currIp))
errorIp = false;
}
// 判断IP
if (errorIp)
throw new NoAllowIPException();
}
result = invocation.invoke();//调用被拦截的方法
}
catch (Exception e)
{
log.error("异常类名:" + invocation.getAction().getClass());
log.error("异常方法:" + methodName, e);
throw e;
}

return result;
}

}

3、怎么编写过滤器

1、在web.xml里面配置自定义的拦截器
<filter>
<filter-name>Redirect Filter</filter-name>
<filter-class>com.xx.filter.RedirectFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>Redirect Filter</filter-name>
<url-pattern>/xx/xx/*</url-pattern>

</filter-mapping>

2、如何编写自定义的拦截器
public class RedirectFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
// 获取URL
Long startTime = null;
if (log.isDebugEnabled())
{
startTime = System.currentTimeMillis();
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
String url = httpRequest.getRequestURL().toString();
if (url == null || url.trim().length() == 0) {
return;
}
if (url.indexOf(luceneCreateMapping) != -1
|| url.indexOf(luceneSearchMapping) != -1) {
doFilterForxxx(request, response, url);
} else {
doxxxx(request, response, url);
}
if (log.isDebugEnabled())
{
long endTime = System.currentTimeMillis();
Thread currentThread = Thread.currentThread();
String threadName = currentThread.getName();
log.debug("[" + threadName + "]" + "< "
+ this.getClass().getName() + " " + url + " "
+ (endTime - startTime) + " ms");
}
// 激活下一个Filter
filterChain.doFilter(request, response);

}
}

⑽ 如何定义converter能过滤双引号

在springMVC中使用@ResponseBody注解时会强制返回json格式,在返回字符串时会默认加上双引号。去掉引号可以在springMVC配置文件中加入如下配置项:

[plain] view plain
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json." />
<bean class="org.springframework.http.converter.StringHttpMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
也可以在配置JSON返回模板时直接配置进去,配置方法如下:
[plain] view plain
<!-- 返回JSON模版 -->
<bean id=""
class="org.springframework.http.converter.json.">
<property name="supportedMediaTypes">
<list>
<value>text/json;charset=UTF-8</value>
<!-- <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> -->
</list>
</property>
</bean>
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" />

<bean
class="org.springframework.web.servlet.mvc.annotation.">
<property name="messageConverters">
<list>
<ref bean="" />
<ref bean="stringHttpMessageConverter" />
</list>
</property>
</bean>

阅读全文

与spring过滤双引号相关的资料

热点内容
为什么要求雨污水分离 浏览:469
斯麦恩净水器滤芯怎么换视频 浏览:618
利用沼气池做污水处理 浏览:815
树脂能用多長时间 浏览:225
几十度热水才有水垢 浏览:363
汉斯顿净水器罗山县哪里有卖 浏览:310
处理酸性含铜废水的注意事项 浏览:851
纳滤法去除废水中的硫酸根 浏览:291
前置过滤器除垢球清洗 浏览:458
血液透析室水处理原理 浏览:743
污水处理工程师算什么职称 浏览:309
空气净化器吸力怎么样 浏览:118
净水器什么牌子好又实惠 浏览:892
油烟空气净化器多少钱 浏览:650
生活污水设施包括哪些 浏览:572
牙缸子上的水垢 浏览:76
反渗透低压保护怎么办 浏览:770
超滤膜材质检测报告 浏览:455
2019邯郸污水处理费 浏览:394
柯桥农村污水 浏览:509