在maven框架下遇到的问题及解决方法

一、关联的多对多实体类在读取数据并json格式时,产生死循环

解决方法:在某一方与另一方产生关联的属性的get方法加上@JsonIgnore注解

例:

@ManyToMany(mappedBy = "majors")
       @JsonIgnore//处理的注解
       public Set<School> getSchools() {
      return schools;
      }

@ManyToMany(cascade = CascadeType.ALL)
     @JoinTable(name = "school_major", joinColumns = { @JoinColumn(name = "schoolID") }, inverseJoinColumns = {
     @JoinColumn(name = "MajorId") })
     public List<Major> getMajors() {
     return majors;
   }

二、控制器中的方法类型:

(一)、ajax请求的方法,返回json数据

解决方法: 控制器的方法前加上注解:@ResponseBody

// 模糊查询
            @ResponseBody
            @RequestMapping(value = "/fuzzyQueryMajor")//常规注解
            public List<Major> fuzzyQuerySchool(String keyword) {
            return majorService.fuzzyQuery(keyword);
            }

(二)、普通的请求,需要跳转页面

方法:只加常规注解 @RequestMapping("xxx")

// 查询一个学校的具体信息
          @RequestMapping("/selSchoolInfo")
          public String selSchoolInfo(String schoolName, Model model) throws Exception {
          schoolName = new String(schoolName.getBytes("ISO-8859-1"), "UTF-8");
          School school = schoolService.findOneSchool(schoolName);
         model.addAttribute("school", school);
         return "/WEB-INF/jsp/schoolMain.jsp";
          }

三、通过sessionFactory方法获得session不能获取当前线程

解决方法:在web.xml加入如下配置

<!-- openSessionInView配置 -->
	<filter>
		<filter-name>openSessionInViewFilter</filter-name>
		<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
		<init-param>
			<param-name>singleSession</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>openSessionInViewFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

四、数据库乱码

解决方法:在config.properties的jdbc_url参数后加”?useUnicode=true&characterEncoding=utf-8”

jdbc_url=jdbc:mysql://localhost:3306/mrs?useUnicode=true&characterEncoding=utf-8
时间: 2024-08-04 14:45:11

在maven框架下遇到的问题及解决方法的相关文章

maven的pom报plugins却是的解决方法(转)

maven的pom报plugins却是的解决方法. 引用 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central h

maven的pom报plugins缺失的解决方法

maven的pom报plugins却是的解决方法. 引用 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7.1 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central h

Visual Assist X在Windows 8.1下出现中文乱码的解决方法

这主要是输入法造成的,我的输入法中有US.中文.搜狗输入法三个输入法:通过搜狗输入法管理器把"中文"去掉,或者通过语言首选项把"中文"去掉就不会在出现乱码. 这个办法的思路来自于http://www.cnblogs.com/Coling/p/3527233.html,但他说的是把除搜狗之外的都删除,我不赞同,作为开发者,经常输入英文,且经常使用Shift,只保留搜狗,那写代码时要累死.于是尝试删除"中文",结果就搞定了. Visual Assis

eclipse插件Maven添加依赖查询无结果的解决方法(Select Dependency doesn&#39;t work)

在eclipse中用过maven的可能都遇到过这种情况,我以前一直在search.maven里面搜索,然后添加pom信息. 今天在网上搜索时,找到了一个解决方法,在这里分享一下. 第一步,在preferences里面选择maven,选中"Download repository index updates on startup" 第二步,打开Maven仓库 第三步,在全局仓库上右键选择"Full Index Enabled" 选择之后,maven会下载一个近百兆的索引

Myeclipse下JSP打开报空指针异常解决方法。

Myeclipse下JSP打开报空指针异常解决方法 一.运行JSP文件就出错 静态的JSP页面访问时候正常,只要是牵涉到数据库的页面就出错,出错见下图. 出现这种情况让我调试了一天,各种断点,各种改代码,改数据库连接等等都试过都没有解决…… 二.解决方法 不经意间运行的时候选择了安装的tomcat 运行,一下就出来了!!!!! 把之前的改动都恢复到原来出错的时候,发现也可以正常运行,我去,,,,,忙活了大半天原来代码没有问题. >>>>>>>>>>

关于tomcat网站目录下apk文件无法下载解决方法

今天公司网站要添加一个手机app,我直接把apk文件传到了网站根目录下,并且在页面中添加了路径   <area shape="rect" coords="533,290,672,328" href="<c:url value='/wswhly.apk'/>" /> 可是在网站中点击,怎么也下载不了,可是换成别的文件类型(xls.flv等等)就可以下载,查询了很多资料,后来发现在web.xml文件中,需要添加以apk为后缀的

Windows下wxWidgets编译错误的解决方法

Windows下wxWidgets编译错误的解决方法 转自 https://www.jianshu.com/p/b89d205f2cec 错误提示:d:\develop\audacity\wxwidgets-3.1.1\include\wx\platform.h(148): fatal error C1083: 无法打开包括文件: “wx/setup.h”: No such file or directory 解决方法:1.到D:\develop\audacity\wxWidgets-3.1.1

vue框架开发出现白屏的解决方法汇总

利用vue框架写一个简单的新闻客户端,修改了部分配置重启项目后发现又白屏的情况.特此做个简单的汇总. 1.npm run build打包页面空白 发现页面head中引用的js和css文件是出现了路径错误,这里修改如下: 解决位置:config/index.js文件:把assetsPublicPath: '/'改为assetsPublicPath: './' 2. iOS的Safari下无法打开网页 webpack-dev-server >= 2.8.0 的版本在 iOS Safari 下无法打开

navicat在ubuntu下中文乱码的真正解决方法ZT

乱码解决方法(自己解决我自己这种情况之后打猜测): 打开start_navicat文件,会看到 export LANG="en_US.UTF-8" 将这句话改为 export LANG="zh_CN.UTF-8".如果还没人解决可以在终端输入locale查看一下,我的显示 LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8&q