SpringMVC+tomcat json接口开发,IDE IntelliJ idea遇到的问题汇总
来源:互联网 发布:淘宝仿古画 编辑:程序博客网 时间:2024/06/05 09:42
一、 Linux下Tomcat安装
官方下载最新的安装包 Core 下tar.gz格式的http://tomcat.apache.org/download-90.cgi,解压缩到/usr/local/tomcat,启动/关闭命令/usr/local/tomcat/bin/startup.sh 、/usr/local/tomcat/bin/shutdown.sh 。
安装前需要先安装jdk环境。yum安装了64位的通用jdk(s..2-jdk.x86_64), 在shutdown tomcat的时候提示
Exception in thread "main"java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap :Unsupported major.minor version 51.0
以为是tomcat版本和jdk不匹配。后来安装了openjdk(java-1.8.0-openjdk-src.x86_64)好了。配置环境变量 vim ~/.bash_profile
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
执行source ~/.bash_profile 使其生效。测试是否安装成功,访问localhost:8080 或 ip:8080
二、IntelliJ 创建工程
私以为IntelliJ 工程里边的各种settings太难懂了。。
创建工程的时候,要project里边是基本的命名和选择jdk。关键是facets里边要把用到的Spring和Web已经WebServices添加全了,要不跑不起来。。添加后,modules里会默认添加对应的模块。
具体的SpringMVC配置和详解,就参见http://www.cnblogs.com/baiduligang/p/4247164.html。
三、踩过的坑
1. 数据库编码问题,汉字的显示
mysql里边执行 show variables like 'char%'; 可查看当前db的编码设置,其中的result是直接影响代码里连接db后查询结果的编码的,需要修改为utf-8,不然没法显示汉字。
命令:SET character_set_results= charset_name; 其中charset_name 替换成utf-8.
character_set_connection(sql语句使用什么编码方式)、character_set_client (终端显示什么编码)、及character_set_results (sql执行结果是什么编码)
2. intelliJ 中tomcat的配置
运行设置中选则tomcat后,执行报错Unable to ping server at localhost:1099
原因:由于Tomcat默认关闭JMX功能,但IntelliJ IDE配置的IDE需要提供JMX功能
解决:hosts文件 127.0.0.1 添加本机名,例如:127.0.0.1 localhost bj-m-10313a.local
3. intelliJ 中 tomcat 运行报错 javax.servlet.http不存在
lib引入servlet-api的jar包
4. db中DATATIME类型的数据,当为默认值'0000-00-00 00:00:00'时,使用ResultSet.getTimestamp()报错:Cannot convert value '0000-00-00 00:00:00' fromcolumn 1 to TIMESTAMP
原因:ResultSet.getTimestamp(),这样会得到一个Java.sql.Timestamp类型的数据。在这里既不能使用ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据。JDBC不能将'0000-00-00 00:00:00'转化为一个为一个java.sql.Timestamp,在Java中,想创建一个java.util.Date,使其值为'0000-00-00'也是不可能的,最古老的日期应该是'0001-01-0100:00:00'。
解决:
String url = "jdbc:mysql://localhost:3306/test?relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull";
5. 页面报错: Java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config
解决:下载jstl-1.2.jar、standard-1.1.2.jar放在tomcat的lib下
6. 开启8090tomcat端口,访问的时候提示网络不通
原因:防火墙问题,关闭或者添加端口白名单
vim /etc/sysconfig/iptables
添加:-A INPUT -m state--state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
重启防火墙# service iptablesrestart7. 静态资源打war包的时候打不进去
解决:intelliJ上 file-project Structure-modules-sources 在想打包的静态资源上右键-resource
8. 使用JNI开发,IntelliJ运行及打包部署后运行,提示找不到JNI文件或 Handler dispatch failed; nestedexception is java.lang.NoClassDefFoundError: Could not initialize classnet.sf.clipsrules.jni.Environment
原因:因为tomcat的运营方式下没有设置library.path是设置引用的非Java类包(如DLL,SO)的位置
解决:IntelliJ上tomcat的运行配置中Server下的VM option添加 .path="非Java类包所在的路径";
tomcat的打包环境上,添加LD_LIBRARY_PATH环境变量 。vim ~/.bash_profile 添加:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tomcat/clips
export LD_LIBRARY_PATH
其中:/usr/local/tomcat/clips作为java.library.path
并执行source ~/.bash_profile 使其生效。在LD_LIBRARY_PATH的环境变量路径下,添加需要so文件。
.so文件的生成办法,在含有JNI的实现源文件下执行make文件,例如make -fmakefile.linux,结果提示找不到jni.h和jni_md.h
解决办法,默认找的是/usr/include目录,所以将java下面的include中,例如
/usr/java/sinasrv2-jdk/include下的jni.h,及/usr/java/sinasrv2-jdk/include/linux下的jni_md.h拷贝到/usr/include下,就可以正常执行了。
执行后library-src下会生成一个libclipjni.so,拷贝到java.library.path的下面
推荐好文:
springmvc框架:http://www.cnblogs.com/baiduligang/p/4247164.html
springmvc接口开发:http://blog.csdn.net/zxw136511485/article/details/52584497
restful风格APi开发 :http://www.cnblogs.com/qixiaoyizhan/p/5864233.html
requestmapping详解:http://www.cnblogs.com/qq78292959/p/3760560.html
intelliJ java打war包:http://jingyan.baidu.com/article/a24b33cd10adf719fe002ba1.htmlmac 开启ssh服务:http://blog.csdn.net/govago/article/details/8536165
常用Linux命令汇总:
查询java_home环境变量 :/usr/libexec/java_home
查询全部的环境变量:Env
java基础知识:
调用静态方法:类名.class.方法名()
getClass().getResource()与getClass().getResourceAsStream()的差别是前者得到的是url路径,后者得到的是Inputstream流,即这个路径下的所有资源文件。
当路径中包含空格时,getResource()得到的url中空格会被转义成%20,file就无法识别,因此需要用url.toURI().getPath() 的方式做一下转换就好了
- SpringMVC+tomcat json接口开发,IDE IntelliJ idea遇到的问题汇总
- 在IntelliJ IDEA中开发springmvc,使用tomcat遇到的问题
- 使用Intellij Idea开发Spark应用遇到的问题
- 使用Intellij idea15开发SpringMvc遇到的问题
- Intellij Idea 下用maven创建SpringMVC项目问题汇总
- IDE【1】(intellij idea的tomcat的配置)
- IntelliJ IDEA部署SpringMvc的ClassNotFound问题
- intellij idea maven springMVC和SpringBoot遇到的两个小问题
- intellij idea 整合scala遇到的问题
- intellij idea 常见遇到的问题整理
- 【开发工具IDE】解决IntelliJ IDEA 创建Maven项目速度慢的问题
- 使用Intellij Idea 和SpringMVC开发具有RESTful架构风格的API接口
- 第一次用IntelliJ Idea写web程序时配置Tomcat遇到的问题
- IntelliJ IDEA --- 学习springmvc新建controller时遇到的错
- Intellij idea IDE的使用
- Intellij IDEA项目中遇到json-default发红的解决办法
- Intellij IDEA开发Android遇到的各种问题(不定时更新。。)
- IntelliJ IDEA 使用svn时遇到的问题总结
- sklearn中ababoost分类
- Json、FastJson、Gson
- 亿级数据迁移实战方案,真实案例
- spring配置文件详解
- HDU-2049 不容易系列之四(考新郎)
- SpringMVC+tomcat json接口开发,IDE IntelliJ idea遇到的问题汇总
- 去除listview item系统点击颜色
- Java 数据类型
- csp/ccf 钥匙问题
- 单目结构光三维重建 多频外差单目重建
- VUE+WebPack游戏设计:'乘法防线'游戏设计
- solrcloud+zookeeper环境搭建
- Android JNI开发(1)--JavaVM和 JNIEnv 动态注册本地方法
- spring boot发送邮件