idea构建ssm时遇到的问题(不全)

——给自己做备忘,不定时更新,相当于一个“检查表”,修改步骤会简洁写,不是唯一修改方式—

——如果我的文章中哪里有问题,也烦请评论指正、分享自己的见解,谢谢!——

——文中解决方法是我的成功记录,不一定适用于你—— 

不适合纯纯纯新手,给和我环境相同的人做一个参考

你也可以拿我分析的“原因/背景”去检查自己的,确定问题究竟出在哪。这样再去网上搜,找到正确解决方法的概率会提高

如果有问题/步骤没懂/这个解决方案没解决你的问题,还请自行搜索。本人也新手,别问我,大概率无法解答

我的环境:idea2023 tomcat8.5

1.JAVA: 错误: 不支持发行版本 5

一种解决方法:修改pom.xml

<properties>
    <maven.compiler.source>jdk版本</maven.compiler.source>
    <maven.compiler.target>jdk版本</maven.compiler.target>
</properties>
2.tomcat404

前提:

(1)直接运行tomcat(startup.bat)成功   想检验的话,在idea运行前检查。如果是idea运行失败后再检查,记得先关闭idea中的连接,否则因端口号占用(?)也会打不开。

(2)idea中成功连接,能打开网页(如果此处连接失败,应该是tomcat配置问题,在idea中重新配置、查相关资料)

可能原因(不全,仅我遇到的)

(1)jsp编写有问题,修改代码

(2)首页正常打开,但跳转失败,也许是jsp跳转路径有问题

怎样判断是否跳转问题:我的办法

在web.xml中修改默认欢迎界面,将各个页面依次设置为欢迎界面,测试各个页面能否正常打开。

<welcome-file-list>
    <welcome-file>你要的页面名.jsp</welcome-file>
  </welcome-file-list>

(3)看modules、facets里面web的路径等配置是否正确

(4)看项目运行生成的target里有无jsp页面, 我已经好几次在这儿出错了,网上也有多种解决方法

我的成功记录:

在pom.xml里加入

  <packaging>war</packaging>

 记得再刷一下maven(如果你在设置里面修改过自动更新,那就不用),运行tomcat

看看这个target有jsp了吗?没有更新的话,可以删掉原来的target再运行tomcat,会生成新的target

然后可以看一下project structure里的artifacts,你应该已经生成了一个新的artifact,再编辑tomcat里的deployment,换成新的artifact,再运行应该就没问题了。

如果还有问题:

情况1)

你的欢迎界面已经换成了一个复杂的自定义jsp,可以去掉那段代码/直接设置为原始的、不含java的index,如果这个index能成功,说明tomcat配成功了。

那就去检查欢迎界面的设置是否路径有误、欢迎界面是否代码有错

(5)相关的依赖jar包没有添加到项目当中

这个看到好多博主都在说,需要在web-inf下加入lib,把包全部导入

project structure-artifacts在output layout里点击web-inf,右键create directory,输入lib,再add copy of-library files,ctrl+a把包全选

3.tomcat500,网页提示在xx行出现问题

这行代码有问题,检查,修改

(1)遇到的一个问题,没有理解为什么,但修改后能打开网页了,但好像没成功访问数据库

copy别人jsp页面的代码,但访问失败:

i下方有下划线,不知道是什么意思  在此处换了别的变量名依旧有下划线

 List<Student> allStudents = (List<Student>)session.getAttribute("allStudents");
                for (int i = 0; i < allStudents.size(); i++) {
                    Student s  = allStudents.get(i);

//在此省略一些操作,总之是对list中元素的一些操作,不影响

}

不知道为什么500,在网上搜,有人提出空指针的问题...但我学艺不精,没太理解,自己一次次试着改,最后改成这样就访问成功了:

  List<Student> allStudents = (List<Student>)session.getAttribute("allStudents");
                if(allStudents!=null)
                    for (Student s:allStudents) {

//继续省略一些操作
}

网页能成功访问了,但想要的数据还是没显示。估计还是没正常读取数据库,所以可能依旧没改成功

4.编写jsp时session.getAttribute标红

解决方法:导入servlet-api.jar和jsp-api.jar   包在tomcat/lib下找

5.创建的webapp文件没有蓝点

解决:在project structure-modules添加web、修改路径

project structure-modules 点击+,选择web(注意path要配置到web.xml,左下角的directories配置到webapp)

另:有博主提出,这个文件尽量命名为webapp,而不是其他的。不懂原因,但我的实践中,似乎确实这样问题会少,感谢!

6.部署Tomcat提示:Warning no artifacts configured

缺少artifacts

解决:project structure-artifacts,点击+,选择web application :exploded,右侧的output layout里选择dictionary content,然后有博主说要选择(在tomcat文件目录下)webapp 文件夹,但我记得自己是选了一整个项目,好像也成功了?

7.本来没报错,配完tomcat后突然报错

(1)java: 程序包javax.servlet.http不存在

project structure-modules点击项目,dependencies下如果有标红的tomcat包,删除;没有,点击+ ,library-application sever libraries,导入需要的tomcat 注意:这个操作在maven刷新后可能会丢失?需要重新导(总之我遇到过)

(2)dispatcherservlet标红

在网上找了好几篇博客,有各种方法,但我每次都是这样解决的:

project structure-facets看这个web文件的path是否为你web-inf下的web.xml

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值