关于错误的那点事——惨不忍睹的错误
来源:互联网 发布:python 量化分析 编辑:程序博客网 时间:2024/06/03 22:55
- springMVC跳转问题
- 页面跳转500页面问题
- SpringMVC与mybatis整合问题
- mybatis 扫描mapperxml文件问题
- mybatis下面在包下面的xml文件不被编译
- 上传图片自定义样式后无法上传图片问题
- 在idea中如果你遇到HttpServletRequest无法导入的情况
- 加载properties配置文件时遇到的问题
- 使用idea编译项目的时候遇到错误 程序包javaxservlet不存在
- 使用mybatis-generator生成的mappper 向数据库插入数据时始终无法插入并控制台报错
- orgapacheibatisbindingBindingException Invalid bound statement comUserMapper
- 数据库插入中文显示
- Spring的注入问题
- MybatisGenerator生成的代码提示已经存在
- BootstrapUtil错误
- HTTP Status 500 - Servletinit for servlet mvc-dispatcher threw exception
- 利用ajax提交表单被浏览器拦截修改问题
springMVC跳转问题
这几天用springMVC,配置好了,就是不能跳到WEB-INF下面的jsp,回去仔细看了配置文件发现。
- 之前:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean>
- 改正之后:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> //此处决定你到底跳转的路径 <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean>
被自己蠢哭了有木有。
页面跳转500页面问题
- 访问jsp有的可以访问,有的直接跳转500,感觉路径没有一点问题,由于这几天刚整合了shiro,还以为是shiro的问题,搞得我把shiro官方文档看了一遍,问题没解决,shiro倒是会用了,真的是醉了,无意间发现了问题,是因为页面jsp引入的js或者css的问题,${contextPath}写成了#{contextPath},导致页面出错,才跳转的500,由于web.xml里面配置了500错误跳转的页面。
- 之前:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/500.jsp</location> </error-page> </web-app>
- 修改之后:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page> <!-- <error-page> <error-code>500</error-code> <location>/500.jsp</location> </error-page> --> </web-app>
先注释掉500的错误跳转页面,正式环境上在打开注释
SpringMVC与mybatis整合问题
- NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy
缺少: ‘org.springframework:spring-jdbc:4.2.4.RELEASE’,
- java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException
缺少:’org.springframework:spring-tx:4.2.4.RELEASE’,(就是spring-transaction)
mybatis 扫描mapper.xml文件问题
- 一直提示无法找到mapper文件夹中的xml文件,can’t create bean …
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--自动扫描mapping.xml文件--> <property name="mapperLocations" value="classpath:com/ttc/dao/mapper/*.xml"></property> </bean>
改正之后:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--自动扫描mapping.xml文件--> <--就因为classpath后面要跟一个*--> <property name="mapperLocations" value="classpath*:com/ttc/dao/mapper/*.xml"></property> </bean>
mybatis下面在包下面的xml文件不被编译
上传图片自定义样式后无法上传图片问题
<input class="real_file" type="file" name="upload" accept="image/*" capture="camera" onchange="uploadPicture('imgCUpload')" style="display: none" id="imgC"/><div class="upload" onclick="triggerInputClick('imgC')"> <img id="up_img3" src="${contextPath}/images/epaylink/upload_ico.png"/></div>
js文件:
/** * 选择图片后直接上传图片 */function uploadPicture(imgId) { $("#" + imgId).click();}
上传图片的onchange=”uploadPicture(‘imgUpload’)”方法要写在html页面的表单域里面,不然没有效果。
在idea中如果你遇到HttpServletRequest无法导入的情况
@RequestMapping(value="/imageUpload",method = RequestMethod.POST) public void springUpload(HttpServletRequest request) { // TODO }
这种情况是因为你没有导入Applycation Servlet Library,将其添加到项目中就可以了
加载properties配置文件时遇到的问题
修改前:
prop = new Properties(); InputStream is = null; try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); is = classLoader.getResourceAsStream("resources/" + fileName); if (is != null) { prop.load(is); }
修改后:
prop = new Properties(); InputStream is = null; try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); is = classLoader.getResourceAsStream(fileName); if (is != null) { prop.load(is); }
就因为我在前面加了一个/resources,结果就无法加载。
使用idea编译项目的时候遇到错误: 程序包javax.servlet不存在
原因是没有servlet-api这个包,我使用的是gradle。
dependencies { compile( 'javax.servlet:javax.servlet-api:3.1.0' )}
在build.gradle中加入这句话就可以了。
使用mybatis-generator生成的mappper, 向数据库插入数据时,始终无法插入,并控制台报错。
java.lang.IllegalArgumentException: Result Maps collection already contains value for com.ttc.dao.PermissionMapper.BaseResultMap
百思不得其解,因为我用的是mybatis-generator,使用代码对比工具,发现生成的PetMapper.xml多了几百行!!!
原来是我在运行时没有把之前已经生成的userMapper.xml删除掉,再次生成代码时,又附加了上去!所以在运行代码生成之前,要把以前已经生成的xml文件清掉,以妨出错。
org.apache.ibatis.binding.BindingException: Invalid bound statement (com.*.*.UserMapper)
今天使用mybatis-generator生成的mapper不满足要求,增加了一个方法然后就一直报绑定错误的问题
@Resource ArticleTypeMapper articleTypeMapper;
还一直有一行的波浪线说是无法注入,我就奇怪了重头检查了一边没有发现问题,最后我就去build(编译后的文件夹)去看了一下,里面的mapper.xml竟然没有更新。还是gradle没有用熟啊,又手动去刷新了一下,运行通过。
数据库插入中文显示????
mysql的my.ini文件已经都改成utf8了,最后找到问题是因为:
jdbc.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf8
Spring的注入问题
- 正常情况下:
@Autowired @Qualifier(value = "ECPSysArgsServiceImpl") private ECPISysArgsService sysArgsServiceImpl;
现在想要写一个公用的类,于是就要写成static了,如果直接
@Autowired
@Qualifier(value = “ECPSysArgsServiceImpl”)
private static ECPISysArgsService sysArgsServiceImpl;这样是无法注入的,所以要采用构造器注入。
private static ECPISysArgsService sysArgsServiceImpl; @Autowired public ArgsUtil(ECPISysArgsService sysArgsServiceImpl){ ArgsUtil.sysArgsServiceImpl = sysArgsServiceImpl; }
完整代码如下:
@Service@Lazy(false)public class ArgsUtil { private static ECPISysArgsService sysArgsServiceImpl; @Autowired public ArgsUtil(ECPISysArgsService sysArgsServiceImpl){ ArgsUtil.sysArgsServiceImpl = sysArgsServiceImpl; } public static String ADDR_ARGS = ""; public static String DEFAULT_ADDR = "http://192.168.5.77:8080"; /** * @return java.lang.String * @author benny * @date 2016/4/22 * @method getArgs * @version V1.0.0 * @description 获取系统管网地址 如果从缓存中读取不到直接返回管网地址 */ public static String getArgs() { try { ADDR_ARGS = sysArgsServiceImpl.getSysMap(Constants.SYS_IHUI_ADDR).getResult(); } catch (Exception e) { e.printStackTrace(); } if (StringUtils.isBlank(ADDR_ARGS)) return DEFAULT_ADDR; return ADDR_ARGS; }}
写完发现还是注入失败,晕死,原来是忘记在类上加上注解@SERVICE
MybatisGenerator生成的代码提示*已经存在
Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [E:\hellofdssd\ttc-blog\build\classes\artifacts\ttc-core\exploded\ttc-core-1.0-SNAPSHOT.war\WEB-INF\classes\mapper\ArticleMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.ttc.dao.ArticleMapper.BaseResultMap at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:468) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:343) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ... 108 more
原因很明显,也很尴尬,生成的代码我没有删除直接又执行了一次,于是就在上一次的代码之上,又生成了一次,所以报代码重复问题
BootstrapUtil…..错误
java.lang.IllegalStateException: Could not load CacheAwareContextLoaderDelegate [class org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] at org.springframework.test.context.BootstrapUtils.createCacheAwareContextLoaderDelegate(BootstrapUtils.java:101) at org.springframework.test.context.BootstrapUtils.createBootstrapContext(BootstrapUtils.java:70) at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:105) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:152) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:143) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:98) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)Caused by: java.lang.NoSuchMethodError: org.springframework.beans.BeanUtils.instantiateClass(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object; at org.springframework.test.context.BootstrapUtils.createCacheAwareContextLoaderDelegate(BootstrapUtils.java:98) ... 19 more
原因是在jar包中,发现多了一个spring2.5.3的jar包,导致jar包冲突,源码报错,beanutil有两个一个4.2.4的一个4.2.5的所以提示错误。
HTTP Status 500 - Servlet.init() for servlet mvc-dispatcher threw exception
Servlet.init() for servlet MyDispatcherServlet threw exceptiondescription The server encountered an internal error that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet.init() for servlet MyDispatcherServlet threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) java.lang.Thread.run(Thread.java:722)root cause org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\ItDevelop\Tomcat7\webapps\Spring-MVC-0.0.1-SNAPSHOT\WEB-INF\classes\controller\MyController.class]; nested exception is java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:281) org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242) org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentS
原因我已经不想多说什么了,因为是自己新建的WEB-INF文件夹,但是他是一个黄色的空文件夹,也就是说他不是 资源文件夹
右键WEB-INF,make directory AS RESOURCE DIRECTORY
I guess the problem is with the notices-servlet.xml file. Check the "WEB-INF" folder for the ServletContext resource. Try again running the project after putting the notices-servlet.xml in the "WEB-INF" folder. Hope that will do!
利用ajax提交表单被浏览器拦截修改问题
var subSucc = false; $.ajax({ url : basePath + url, type : "post", dataType : "json", async : false, //此处是重点 不然异步执行会先执行下面的表单提交 success : function (data) { subSucc = true; }, error : function () { submitMessage("网络异常请稍后再试", "error"); }, beforeSend: function () { } }); if (subSucc) { $("#goPay").submit(); }
- 关于错误的那点事——惨不忍睹的错误
- 关于安卓错误的那点事——惨不忍睹的错误
- 关于错误的那点事——惨不忍睹的错误
- 测试那点事----http 错误
- 关于上司的那点事
- 关于黑客的那点事
- 关于8086的那点事
- 关于程序员的那点事
- 关于计算机的那点事
- 关于CGI的那点事
- 关于彩虹表的那点事
- 关于铁道部的那点事
- 关于JAVA集合的那点事
- 关于模式的那点事
- 关于vs2010的那点事
- 关于connectionstring字符串的那点事
- 关于公司的那点事
- IOS 关于分辨率的那点事
- js笔记
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- Freemarker笔记
- Android 设置程序先启动登录界面 再启动主界面
- 在spring的bean中注入内部类
- 关于错误的那点事——惨不忍睹的错误
- 2 类与对象
- NRF51822自学笔记(二)PWM
- android笔记
- poj3090
- 基于vitamio5.0的android播放器
- poj1995
- 设计模式(6)--Bridge 桥接模式
- ScrollView里面的EditText的点击空白处键盘消失的问题