首先把WebContent下的lib包标记为library
右键项目,打开项目设置
选择自己的jdk,并apply。
导入Servlet相关的包会遇到报错,因为在JDK中找不到Servlet的相关包,所以需要手动导入
- 找到tomcat的安装路径
- 把lib下的servlet-api.jar添加到项目资源库中。
这样导入相关包不会报错。
为项目添加web组件
在项目结构中右键项目点击add,选择web
点击create artifacts,只有存在artifacts才能使用tomcat部署。
点击fix,添加library,选择第一个,把项目需要用到的jar包和文件夹引入。
注意Resource Directory路径需要自己修改,这是访问网页的根路径,所以要改成项目中的WebContent,默认为web。之后WebContent文件夹就会出现小蓝点。
接着配置tomcat,首先需要安装
然后点击add configuration,添加,选择local tomcat
正常情况下idea会自动找到本机tomcat的路径,不行就自己配置。
下方有个小红点,点击右下角的fix,选择刚刚创建的artifacts,注意配置好根路径为 /。
在浏览器输入http://localhost:8080/student/login.jsp就可以访问。
所有设置更改后都需要apply。
另外记录下这两天的问题:
- 在elasticsearch加入ik分词器后重启,然后没成功而且不断尝试重启,杀不死。在/data/es/logs/elasticsearch.log查看日志,在/home/dev-ading/env/es/elasticsearch-7.10.1/config/elasticsearch.yml中加入如下才得以解决:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
- logstash导数据到es中,mysql里面的时间为datetime类型,不能转换为"yyyy-MM-dd HH:mm:ss"
- elasticsearch在7.12以上才支持multi_terms,所以在7.12以下版本如何进行多字段聚合查询呢?用script脚本把多个字段合成一个字符串,在7.10版本如下:
"models":{
"terms":{
"script": "if(doc['user_name'].size()!=0)doc['user_id'].value +'####'+doc['user_name'].value +'####'+doc['user_home'].value",
"size":100
}
}
doc[‘user_name’].size()!=0判断这个字段的值是否为空,而且要保证索引中这三个key都存在,我可以起字段别名来实现。取到数据之后再按####分割即可。
- mysql数据同步到es中的数据丢失问题,我还没有遇到。es中key类型的字段字节数最大限制为32766,超过这个数则无法插入。text类型没有限制。
老师课堂上的项目登录不了,报错为
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
起初以为是哪里字段类型不对应,最后用原始的jdbc连接依然报这个问题,而且是出现在连接的时候,一查才知道是mysql版本和mysql连接包版本不一致,连接的jar包太低了。
问题