问题解决方法

通过web.xml加载spring容器时遇到java.lang.ClassNotFoundException: org.springframework.web.   整合ssh时,通过web.xml加载spring容器的时候,有的同学可能会出现java.lang.ClassNotFoundException: org.springframeworntext.ContextLoaderListener错误。根据错误提示,很明显能判断出来是因为类加载器找不到类。出现这个错误一般有三种可能,下面提供解决方法。

第一:最低级的错误,忘了导包。该类是在spring.jar里面,看看你是否忘了导包。

第二:发现已经导入了包,在工程里面手动能找到该类了,但还是出错。那么就应该看看你应用到tomcat里面的web应用里面有没有该包。有些开发工具存在debug,通过开发工具应用到tomcat的时存在丢包的情况,所以最好去tomcat里检查一下,看看WEB-INF/lib下面有没有spring.jar包。

第三:如果以上都没有问题,那么就是你的开发环境的问题了。解决方法是不要在WEB-INF/lib下建文件夹,所有的包放到WEB-INF/lib根目录下即可。

hibernat根据实体配置映射文件 *.hbm.xml是,根据实体自动创建表时报如下错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: An association from the table itcast_user refers to an unmapped class: cn.itcast.oa.domain.Department 可能是因为hibernate.cfg.xml配置文件中没有添加映射文件 <mapping resource="cn/itcast/oa/domain/Role.hwebm.xml"/>

问题:删除数据时,已经进入delete方法,但是数据没有删除? 问题解决:添加实现Service接口的实现类必须记得添加事务@Transactional

问题:修改时,已经修改成功,但数据库中数据没有修改成功 解决方案:问题是因为映射文件中关联关系中添加inverse=true时,:由双向关联另一方维护该关联,己方不维护该关联(只能进行查询操作),确定有谁类维护的时候写错了。

修改源码的方法: 工程里面创建相同的包,相同的类,发布到classpath中即可

<body style="overflow:hidden"> 或者是 <body scroll="no"> 如果是框架页,利用上面的方法仍不能去除可考虑以下办法: 被包含页面里加入 <style> html { overflow-x:hidden; } </style> 如果想隐藏垂直滚动条: <style> html { overflow-y:hidden; } </style> 这里先说一下滚动条的属性代码: overflow-y : visible | auto | hidden | scroll visible :  不剪切内容也不添加滚动条。 auto :  在需要时剪切内容并添加滚动条 hidden :  不显示超过对象高度的内容,这里不对这个属性作介绍,大家喜欢的话可以自己尝试 scroll :  总是显示纵向滚动条


spring 3.2以上的版本 不需要添加spring-asm.jar 不然报异常 Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class *********************************************************************8 Could not open ServletContext resource [/WEB-INF/springMVC-servlet.xml] 加载spring的配置文件(applicationcontext.xml)出错 解决方法 <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> <!-- <param-value>/WEB-INF/spring*.xml</param-value> --> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>


Error loading DispatcherServlet's default strategy class [org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping] for interface [org.springframework.web.servlet.HandlerMapping]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/web/cors/CorsProcessor 原因: spring-webmvc.jar与 spring-web.jar版本不一致,更改之,错误消失。


java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?

解决方法: 在web.xml中添加监听器 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>


Spring配置文件applicationContext.xml文件中添加过如下配置 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 但是在eclipse中还是没有对应域名空间的提示 解决方法: eclipse中打开Window->Preferences->搜索xml->xml Catalog->add-> Location:选择对应的*.xsd(可以在对应的jar中解压出来)文件,Key type:System ID Key:http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd


Mybatis中新增后获取主键ID 在mapper文件中写<insert id="insert" parameterType="pd" useGeneratedKeys="true" keyProperty="id">


sqlServer数据库中单用户模式修改为多用户模式 ALTER DATABASE wssb SET MULTI_USER


  1. jsp中URL中文乱码 jsp编码URL:encodeURI(encodeURI(url)) java解码url:String urlStr = URLDecoder.decode(url, "UTF-8"); 2.修改某个单元格颜色 $("#id td").each(function(index,item){ if(index == 2){ $(item).css("background","red"); } });

3.页面加载可以直接执行js代码 js文件(isLogin.js) var xhrurl = "/tijian/IsLogin.aspx?CheckupNo="+CheckupNo; var tiaozhuan = "/tijian/Login.aspx"; $.ajax({ type : "post", async : false, url :xhrurl, cache : false, success : function(json){ if(0==json.isLogin){ alert("请先登录"); window.location.href= tiaozhuan; } }, error:function(e){ alert("验证是否登录出错"); window.location.href= tiaozhuan; } }); }

下面是html页面代码

<script src="${pageContext.request.contextPath}/js/isLogin.js"></script>

<script type="text/javascript">
 isLogin('${guserInfo.checkupNo }');

</script> 4.js跨域问题 本地测试的时候可以做IIS反向代理 生产上如果出现这种情况也可以这样处理(例如:.net 80端口和java项目8080端口关联) 5.Tomcat部署重启问题 不重启Tomcat有两种方式:热部署、热加载 热部署:容器状况在运行时重新部署整个项目。这类环境下一般整个内存会清空,重新加载,这类方式 有可能会造成sessin丢失等环境。tomcat 6确实可以热部署了,而且对话也没丢. 热加载:最好是在调试过程中使用,免患上整个项目加载,Debug标准样式支持热加载。容器状况在运行时重 新加载转变编译后的类。在这类环境下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法 常用的一定第二种:热加载了在tomcat的conf中的server.xml中的host设置中添加 <Host appBase="E:\wwwroot" name="localhost" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b"/> <Context path="" reloadable="true" docBase="E:\wwwroot\WebView" workDir="E:\wwwroot\work" privileged="true"/> </Host> 6.内存溢出 PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上 看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的 时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行 清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。 改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 2、在tomcat中redeploy时出现outofmemory的错误. 解决方法:手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 解决方法:手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m" 三、实例,以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true " 7.启动Myeclipse报错:Java was started but returned exit code = 13 ①可能是Java和myeclipse版本不匹配,都用64位或都用32位 ②可能是jdk安装的多,冲突了 ③路径有问题如下修改myeclipse.ini(-vm:使用的jdk路径,-install:MyEclipse安装路径) #utf8 (do not remove) -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.library plugins/org.eclipse.equinox.launcher.i18n.win32.win32.x86_64_3.2.0.v201103301700 -vm binary/com.sun.java.jdk7.win32.x86_64_1.7.0.u45/bin/javaw.exe -install D:\Users\jh\AppData\Local\MyEclipse Professional 2014 -vmargs -Xmx768m -XX:MaxPermSize=320m -XX:ReservedCodeCacheSize=64m -Dosgi.nls.warnings=ignore 8.数据库查询 case when then 使用 SELECT(CASE UID WHEN 1 THEN '第一'WHEN 2 THEN '第二'ELSE'其他'END) AS 名次, ACOUNT FROM FLJG_USER_INFO SELECT 名次 = (CASE UID WHEN 1 THEN '第一'WHEN 2 THEN '第二'ELSE'其他'END),ACOUNT FROM FLJG_USER_INFO SELECT 名次 = (CASE WHEN UID=1 THEN '第一'WHEN UID=2 THEN '第二'ELSE'其他'END),ACOUNT FROM FLJG_USER_INFO 以上查询结果是一样的 9.连接查询 SELECT ACOUNT, F_PWD, ( SELECT role_id FROM FLJG_USER_ROLE WHERE FLJG_USER_ROLE.ACOUNT = FLJG_USER_INFO.ACOUNT ) AS role_id, ( SELECT URID FROM FLJG_USER_ROLE WHERE FLJG_USER_ROLE.ACOUNT = FLJG_USER_INFO.ACOUNT ) AS URID FROM FLJG_USER_INFO 与下面语句相同 SELECT a.ACOUNT, a.F_PWD, b.urid, b.role_id FROM FLJG_USER_INFO a LEFT JOIN FLJG_USER_ROLE b on a.ACOUNT = b.ACOUNT 10.数据库排名函数ROW_NUMBER() OVER(ORDER BY 列名),DENSE_RANK() OVER (ORDER BY 列名), 以及RANK() OVER (ORDER BY 列名)区别是rank有并列 如名次1,1,3,4而ROW_NUMBER()没并列1,2,3,4而DENSE_RANK()则是1,1,2,2,3 SELECT urid, acount, ROLE_ID, ROW_NUMBER() OVER (ORDER BY role_id) AS RowNumber FROM FLJG_USER_ROLE -- SELECT urid, acount, ROLE_ID, RANK() OVER (ORDER BY role_id) AS RowNumber FROM FLJG_USER_ROLE --- SELECT urid, acount, ROLE_ID, DENSE_RANK() OVER (ORDER BY role_id) AS RowNumber FROM FLJG_USER_ROLE

11.项目报Dynamic Web Module 3.0 requires Java 1.6 or newer 可以通过在pom文件中添加如下代码解决 <profiles> <profile> <id>jdk-1.8</id> <!-- 另外一种激活方式 --> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles> 12.查看端口占用情况 1.netstat -ano,列出所有端口的情 2.查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记 下最后一位数字,即PID,这里是2720 3.继续输入tasklist|findstr "2720",回车,查看是 哪个进程或者程序占用了2720端口,结果是:svchost.exe

转载于:https://my.oschina.net/sky2008/blog/848702

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值