java web部分问题以及解决方案



一般错误是基于自己编写过程中出现的较多错误。仔细检查,严谨治学!


jsp图片无法正常显示?
发现问题:路径问题,路径不全。

显示严重错误,多少行的:
一般为select语句中相关字符输入错误,仔细检查。

request.getParameter(“ID”)参数来自哪里
哪里jsp页面跳转过来的,ID就是来自那个页面的跳转连接处的ID。

解决导入项目,添加好Tomcat和jdk后项目出现红叉:修改项目的jdk版本与eclipse的jdk版本一致。
项目中为J compiler中和 project facts中(JAVA, WWM,还有右边的runtimes修改Tomcat版本)。

java web项目中,启动Tomcat后,显示:
息 文.件[/shop/index.jsp] 未找到

描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
尝试发现,由于原先就有一个相关的shop工程,虽然后来改名字了,但是这就影响了新导入名为shop的工程,当添加到Tomcat时候,在web modules上,Path为shop3,使用浏览器访问时候,要注意路径名称为shop3,不是shop。

2020.10.18
eclipse json文件报错,原因是eclipse认为json文件不需要注释,所以编译报错。
解决:Prefrences,validation, json validator,取消manual,build。还是错误,在出错的json文件下右键,validation。

valicat试用到期之后处理办法,修改系统时间到试用期之前:
解决:https://jingyan.baidu.com/article/adc815133376b6b622bf7354.html

Publishing to Tomcat v9.0 Server at localhost …
Publishing the configuration…
Error copying file to E:/download/apache-tomcat-9.0.38-windows-x64/apache-tomcat-9.0.38/backup\Sys_loginMapper.xml:
E:\download\apache-tomcat-9.0.38-windows-x64\apache-tomcat-9.0.38\conf\Sys_loginMapper.xml (系统找不到指定的文件。)
E:\download\apache-tomcat-9.0.38-windows-x64\apache-tomcat-9.0.38\conf\Sys_loginMapper.xml (系统找不到指定的文件。)
OK

解决,在eclipse->Project Explorer->Servers->Tomcat下发现Sys_loginMapper.xml文件,将其复制到:
Error copying file to E:/download/apache-tomcat-9.0.38-windows-x64/apache-tomcat-9.0.38/backup下,问题解决。

启动Tomcat发生异常:java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException。
j是jdk版本问题,我使用的是jdk11,改成jdk8可以正常使用,错误原因应该是jdk9及之的版本java的模块化机制的引入。

启动Tomcat错误:
Could not publish server configuration for Tomcat v9.0 Server at localhost. Multiple Contexts have a path of “/mrbbs”.

找到在eclipse->Project Explorer->Servers->Tomcat下发现Server.xml文件,在最底下找到:
< Context docBase=“mrbbs” path="/mrbbs" reloadable=“true” source=“org.eclipse.jst.jee.server:mrbbs”/>
删除重复内容,即可。

启动Tomcat爆发异常:
Could not get JDBC Connection;
Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is
org.apache.ibatis.exceptions.PersistenceException:

原因: Spring容器在管理PropertySource时,不只读取自己的properties文件,还将JVM system properties和
JVM system env properties都读取到容器中。
所以此时spring-transaction.xml中读取的username不是jdbc上面的username。
解决办法,将jdbc.properties上的username改为user(只要是不为username就可),同样修改对应的
spring-transaction.xml中的values值与之对应:

启动Tomcat时候,爆发异常:
serverTimezone,时区问题。
在配置文件jdbc.properties的url后加上:
url=jdbc:mysql://127.0.0.1:3306/mrbbs
url=jdbc:mysql://127.0.0.1:3306/mrbbs?serverTimezone=Asia/Shanghai
改为东八区时间即可。