本地测试没问题,服务器出现问题
来源:15-14 店家管理系统剩余功能开发之奖品操作页的开发
慕虎9190267
2019-12-11
服务器图片
本地图片
老师就是我在服务器编辑提交按钮出现了错误,我点击去是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回答
-
翔仔
2019-12-11
同学好,遇到问题不要慌,更不能绝望,工作中还有更多绝望的问题呢,都是需要耐心一步步判断的。你可以打日志,看看执行addaward的时候,报的什么错,为什么后面会有_+数字之类的异常,500肯定是和程序代码有关。是不是没加什么注解标签。
本地GET不行是什么意思啊,没看明白,主要是先在本地通过跟服务器一样的启动方式启动访问一下,看看是不是有问题,不是通过ide启动,直接通过打的包在本地启动试试
052019-12-12 -
慕虎9190267
提问者
2019-12-11
又重新报错Could not initialize class com.imooc.o2o.util.PathUtil
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1054)说没有找到这个类但我我明明有啊,难不成Maven问题吗,我本地都可以,服务器上就绝望了
00 -
慕虎9190267
提问者
2019-12-11
老师,我发现所有添加编辑图片的服务器都是提交失败,我测试本地没问题,浏览器错误如下
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
00