北京网站建设排名,企查查免费查询入口,wordpress加水印插件,wordpress国内分享插件web排错记录
在使用javaweb的过程中会出现的一些错误请在下方目录查找。 目录
错误1#xff1a;HTTP状态404——未找到
错误2#xff1a;导航栏下拉菜单无法点开的问题
错误3#xff1a;字符乱码问题
错误4#xff1a;jsp网页全部都是#xff1f;#xff1f;#x…web排错记录
在使用javaweb的过程中会出现的一些错误请在下方目录查找。 目录
错误1HTTP状态404——未找到
错误2导航栏下拉菜单无法点开的问题
错误3字符乱码问题
错误4jsp网页全部都是
错误5修改数据库后网页呈现无变化
错误6jsp填写的数据传到数据库显示null
错误7HTTP状态500-内部服务器错误——javax.servlet.ServletException: Servlet执行抛出一个异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) filter.EncodeFilter.doFilter(EncodeFilter.java:14)
错误8HTTP状态500-内部服务器错误——类【】不是Servlet 错误1HTTP状态404——未找到
点击功能后登录404错误 一般是这里出错也就是登录login的servlet文件是UserLoginServlet 如图改为这样就行 错误2导航栏下拉菜单无法点开的问题
如图点了导航栏下拉菜单没弹出好像被什么挡住 经过一番排查发现是我之前用了一个jQuery图片轮播插件引入了它需要的css和js应该是造成了和原来css和js的冲突 然后我再排查了一下不是js的问题就是css冲突才最终造成我的导航栏弹不开
我将自己引入的jQuerycss文件夹删了导航栏就可以点开了。 错误3字符乱码问题
如图现实菜单栏file→setting→Editour→File Encodings这里箭头所指的三个地方都改一改 然后我发现还无效
于是我发现了一个新地方就是File→File Properties→File Encoding点开后有可能我之前选的是GBK然后我换成了utf-8然后乱码问题就解决了 错误4jsp网页全部都是
等一下我的是经过了30分钟然后就自动恢复了 错误5修改数据库后网页呈现无变化 如图我这里写了7个类别之前本来有8个类别被我减掉一个可是网页还是呈现8个类别我也不清楚怎么回事重新新建数据库重新导入sql语句后还会是这样后面好像过了十分钟左右就变过来了应该是有延迟如下图已变为7个类别 错误6jsp填写的数据传到数据库显示null 如图jsp随便填写 然后我点击提交保存接着查看数据库这边 可以看到这里最后一行数据全部是null
那么我们来开始排除
第一步排错
你找到你对应的那个Dao类用System.out.print()随便打印出几个发现箭头所指的方向那里为null换句话说也就是还没传入数据库的时候你这里就是null 第二步排错这里sql语句要和数据库列名要对应好 数据库的列名要对应例如我后来发现我这里的vehicleowner由于之前自己复制粘贴的缘故少些了一个r导致它出问题什么unknown vehicleowner什么的其实就是这里单词没写全 第三步排错【最重要】
兜兜转转几个小时才发现是Servlet类那边的数据没有复制过来的问题即在这里加上这段话就行也就是下图中try catch那段 之前参考代码是有这段代码的中途出了错我就把它注释掉后来以为没什么用就删掉了后来复查了几个小时查看原本的资料才发现最重要的是里面这句
BeanUtils.copyProperties(vehicle, request.getParameterMap());
这句就是把你在jsp填的数据扔到Dao类那边Dao类是直接面向数据库操作Dao类会再负责将数据添加进数据库所以我就缺少了这句代码导出Dao类一直数据为null收不到数据
然后发现只用上面这句代码玩不转还是得外面套上try catch才行即如下
try {BeanUtils.copyProperties(vehicle, request.getParameterMap());} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();} 你加这段然后去运行Dao类那边就有数据数据库就能正常添加正确显示数据。
如图随便写点数据 我的jsp显示登记成功那么我们去数据库看看 如图刚才的数据不再是null已成功添加进数据库。 错误7HTTP状态500-内部服务器错误——javax.servlet.ServletException: Servlet执行抛出一个异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) filter.EncodeFilter.doFilter(EncodeFilter.java:14) 很有可能是总共三个地方名称不对应的问题哪三个地方
你要注意你的jsp、普通类【就是你生成构造函数啊get和set方法那个】、Dao类
如下
比如你jsp的nameownername我之前是nameusername然后我改成nameownername了但其他两个地方忘了改造成了网页状态500 所以说比如我这里jsp的这里写的是nameownername的话那么你得检查一下你数据库那里是不是一样也是ownername要一致 然后比如我的ProblemFeedback.java这里面不要忘了改一样也要是ownername get和set方法最好重新弄保持一致 ProblemFeedback.java其余地方也改成一样 最后看Dao类你看我之前说过我原本是name然后改成ownername这里忘记改了还是name那么这里就会显示白色你看我改为ownername了后 你看就不是白色了然后你还是看上面那张图箭头所指之前由于你根据新建的String ownername重新生成那个getOwnername()方法那么你这里也要是getOwnername()我这里是已经改过来的之前是getName()现在改成了getOwnername()。 只要这几个地方能对应就不会出现HTTP状态500-内部服务器错误 错误8HTTP状态500-内部服务器错误——类【】不是Servlet 解决有可能你相对应Servlet差了一个extends HttpServlet如图补上extends HttpServlet这两个单词就行