请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

本地测试没问题,服务器出现问题

服务器图片
图片描述

本地图片
图片描述
老师就是我在服务器编辑提交按钮出现了错误,我点击去是405错误
图片描述
但是我本地是提交成功的,已经进去数据库了,我绝望了,addward方法我在本地改了GET方法后,也是不行的
js文件
$(function() {
// 从URL里获取awardId参数的值
var awardId = getQueryString(‘awardId’);
// 通过awardId获取奖品信息的URL
var infoUrl = ‘/o2o/shopadmin/getawardbyid?awardId=’ + awardId;
// 更新奖品信息的URL
var awardPostUrl = ‘/o2o/shopadmin/modifyaward’;
// 由于奖品添加和编辑使用的是同一个页面,
// 该标识符用来标明本次是添加还是编辑操作
var isEdit = false;
if (awardId) {
// 若有awardId则为编辑操作
getInfo(awardId);
isEdit = true;
} else {
awardPostUrl = ‘/o2o/shopadmin/addaward’;
}
// 获取需要编辑的奖品信息,并赋值给表单
function getInfo(id) {
$.getJSON(infoUrl, function(data) {
if (data.success) {
// 从返回的JSON当中获取award对象的信息,并赋值给表单
var award = data.award;
$(’#award-name’).val(award.awardName);
$(’#priority’).val(award.priority);
$(’#award-desc’).val(award.awardDesc);
$(’#point’).val(award.point);
}
});
}
// 提交按钮的事件响应,分别对奖品添加和编辑操作做不同响应
$(’#submit’).click(function() {
// 创建奖品json对象,并从表单里面获取对应的属性值
var award = {};
award.awardName = $(’#award-name’).val();
award.priority = $(’#priority’).val();
award.awardDesc = $(’#award-desc’).val();
award.point = $(’#point’).val();
award.awardId = awardId ? awardId : ‘’;
// 获取缩略图文件流
var thumbnail = $(’#small-img’)[0].files[0];
// 生成表单对象,用于接收参数并传递给后台
var formData = new FormData();
formData.append(‘thumbnail’, thumbnail);
// 将award json对象转成字符流保存至表单对象key为awardStr的的键值对里
formData.append(‘awardStr’, JSON.stringify(award));
// 获取表单里输入的验证码
var verifyCodeActual = $(’#j_captcha’).val();
if (!verifyCodeActual) {
$.toast(‘请输入验证码!’);
return;
}
formData.append(“verifyCodeActual”, verifyCodeActual);
// 将数据提交至后台处理相关操作
$.ajax({
url : awardPostUrl,
type : ‘POST’,
data : formData,
contentType : false,
processData : false,
cache : false,
success : function(data) {
if (data.success) {
$.toast(‘提交成功!’);
$(’#captcha_img’).click();
} else {
$.toast(‘提交失败!’);
$(’#captcha_img’).click();
}
}
});
});

});
绝望了

正在回答 回答被采纳积分+3

3回答

翔仔 2019-12-11 23:25:04

同学好,遇到问题不要慌,更不能绝望,工作中还有更多绝望的问题呢,都是需要耐心一步步判断的。你可以打日志,看看执行addaward的时候,报的什么错,为什么后面会有_+数字之类的异常,500肯定是和程序代码有关。是不是没加什么注解标签。

本地GET不行是什么意思啊,没看明白,主要是先在本地通过跟服务器一样的启动方式启动访问一下,看看是不是有问题,不是通过ide启动,直接通过打的包在本地启动试试

0 回复 有任何疑惑可以回复我~
  • 提问者 慕虎9190267 #1
    老师,我测试了几次,然后我再浏览器工具看nextwork,报的错误是没有初始化PathUtil这个类,试了一下清除maven排除jar包冲突,还是不行,看了一个博客说是static变量问题,我目前还是解决不了,一开始以为路径问题,也不行,其他按钮的提交都可以的,就是那些图片进不去,懵逼了,我当时没有做远程调试,所以没能够远程调试,
    回复 有任何疑惑可以回复我~ 2019-12-11 23:35:24
  • 翔仔 回复 提问者 慕虎9190267 #2
    跟上面描述的异常不是同一个了对不,现在就是下面那个找不到类的问题,本地ide直接启动会出现这个问题不,没有远程调试可以直接通过打日志来看问题的,但是现在PathUtil的话就需要先看看是不是打包的原因了。首先确保ide里能执行,然后本地打包再看看
    回复 有任何疑惑可以回复我~ 2019-12-11 23:44:51
  • 提问者 慕虎9190267 回复 翔仔 #3
    怎么看打包的原因呀,我本地启动是没问题的,一开始我服务器提交不了,报pathutil没初始化,我linux路径为/home/o2o/image没问题呀,老师是看服务器tomcat日志来定位是吧。基本项目都做好了,就是这一个bug弄了我一天,烦躁
    回复 有任何疑惑可以回复我~ 2019-12-12 00:05:52
提问者 慕虎9190267 2019-12-11 19:25:23

又重新报错Could not initialize class com.imooc.o2o.util.PathUtil
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1054)

说没有找到这个类但我我明明有啊,难不成Maven问题吗,我本地都可以,服务器上就绝望了

0 回复 有任何疑惑可以回复我~
提问者 慕虎9190267 2019-12-11 18:58:13

老师,我发现所有添加编辑图片的服务器都是提交失败,我测试本地没问题,浏览器错误如下

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.ExceptionInInitializerError
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1054)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

ava.lang.ExceptionInInitializerError
com.imooc.o2o.service.impl.AwardServiceImpl.addThumbnail(AwardServiceImpl.java:118)
com.imooc.o2o.service.impl.AwardServiceImpl.addAward(AwardServiceImpl.java:61)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
com.sun.proxy.$Proxy30.addAward(Unknown Source)
com.imooc.o2o.web.shopadmin.AwardManagementController.addAward(AwardManagementController.java:135)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信