中文乱码解决和spring注解问题

中文乱码问题:

前台的搜索框输入中文,传到后台发现中文字符是乱码的,导致数据库查询数据失败,从后台代码直接入手修改,添加代码

searchWhere= new String(searchWhere.getBytes("ISO-8859-1"),"utf-8");

其中 searchWhere 代表获取的含有中文的字符串。

spring注解问题:

启动项目时报错,错误大约是注解某个bean失败,检查springmvcContext.xml文件,这个文件中有关于注解的代码

 <context:component-scan base-package="com.lj" use-default-filters="false" >
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
      <context:include-filter type="regex" expression="com.lj.*Controller"/>  
     </context:component-scan>

代码意思大约是:扫描com.lj下的所有文件的注解,如果有@Component(包括他的子类注解@Service,@Reposity等)注解的文件,就去对应的实例化bean。但是因为use-default-filters="false",所以就不会扫描全部,准备扫描部分;扫描那部分呢?context:include-filter 告诉了,首先扫描controller的注解,然后扫描范围是匹配正则表达式“com.lj.*Controller”的类。关于context:include-filter 的type有5种

过滤器类型 描述
annotation 过滤器扫描使用注解所标注的那些类,通过expression属性指定要扫描的注释
assignable 过滤器扫描派生于expression属性所指定类型的那些类
aspectj 过滤器扫描与expression属性所指定的AspectJ表达式所匹配的那些类
custom 使用自定义的org.springframework.core.type.TypeFliter实现类,该类由expression属性指定
regex 过滤器扫描类的名称与expression属性所指定正则表示式所匹配的那些类

引用他人的一句话:Use-dafault-filters=”false”的情况下:<context:exclude-filter>指定的不扫描,<context:include-filter>指定的扫描。

 

posted @ 2017-08-02 16:13  Gordon_Str  阅读(172)  评论(0编辑  收藏  举报