java/javaweb/

IDEA社区版,搭建SpringMVC开发环境遇到的问题总结

2018-07-12  本文已影响0人  shaYanL

1.使用如下头文件时:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">

头文件报错URI is not registered ( Setting | Project Settings | Schemas and DTDs ) 以及 cant resolve http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd,将报错的连接添加到下图中

图片1.png

2. Tomcat配置找不到?

在下图中搜索。若搜索无结果可点击下方的Browse Repository 进行搜索。


图片2.png

3. Tomcat怎么配置?

无论你使用smart tomcat 还是 tomcat server 配置过程都差不多。以下是基于smart tomcat的配置步骤:

3.1. 添加新的tomcat

3.2. 点击“+”号,选中smart tomcat 开始新增tomcat

3.3. 配置tomcat 使用的tomcat版本(需要先去官网下载,解压,配置环境变量)

3.4. Deplyment配置项 :需要配置到自己项目的webapp目录

3.5. Server Port: 你的程序占用的端口号,注意可能和其他程序冲突

3.6. Tomcat port 和 AJP Port ,也要注意不要和其他项目配置的这两个端口号冲突。

图片3.png

4. java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

等ClassNotFoundException问题。

解决办法一:

在webapp/WEB-INF下建立一个lib目录,把缺失的包拷贝过去

解决办法二:
新建SSM项目时,选用maven构建,并选择webapp 这个原型,它同时会帮助我们建立一些必须的目录,文件。因为时基于maven构建,所以所有依赖都由maven管理,这样我们只要确保maven管理的jar包不重复、不缺失,就不会报错ClassNotFoundException。
点击最右侧的Maven Projects【见图片5】 可以查看到所有maven管理的包:
怎么确保jar包引用不重复呢?
没有包后面提示:ommited for duplicate
怎么确保包不缺失呢?
运行项目那个包ClassNotFoundException,就在pom文件中添加依赖就好了。


图片4.png
图片5.png

5.在集成Mybatis时,报错:

Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
The error may exist in file [C:\Lium\softwareSource\jFilm\target\classes\mapper\GirlMapper.xml]
The error may involve com.Lium.jfile.DAO.GirlMapper.getGirlById
The error occurred while executing a query
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.] with root cause

The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解决办法:
在数据库驱动的url后加上serverTimezone=UTC参数。例:
jdbc.url=jdbc:mysql://127.0.0.1:3307/dbgirl?useSSL=false&useUnicode=true&&characterEncoding=UTF-8&serverTimezone=UTC


6.使用map向mapper文件中传递参数时报错llegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT

解决办法:
这是因为mybatis的mapper中使用int类型时,声明JdbcType必须声明为INTEGER,改为

jdbcType=INTEGER,

上一篇 下一篇

猜你喜欢

热点阅读