点滴记忆*记忆点滴
收藏本站

servlet-mapping '/' 及‘/*' 区别探讨

起因: spring mvc 开发。做好action 后访问发现 jsp 页面不编译而是直接返回jsp源代码到浏览器。

开始以为是jar 包问题,但原来项目也是这些包就没有问题。隐约记得遇到过,但想不起来,还好在网上找到了。决定还是记下来,记性真的越来越差了。

  其实还是因为对servlet-mapping 规则不熟。

其规则就是除后缀最长匹配优先。 * 要优先 *.+后缀,即如有:

/*  servlet1

*.jsp servlet2

那么

/abc.jsp /a/bc.jsp  匹配的是serv...

阅读全文>>

org.apache.tomcat.util.bcel.classfile.ClassFormatException: null is not a Java .class file

项目maven 打war 包好放到tomcat 下,报

org.apache.tomcat.util.bcel.classfile.ClassFormatException: null is not a Java .class file 异常

因为在eclipse 直接发布是没有问题的,怀疑maven compile 问题。 但试了好几个版本compile 都一样结果。仔细看pom.xml 发现配了 war 插件,且多此一举将WEB-INF 指定为resource 目录,更要命的指定了filter 为false。  删掉后果然正常了。

起始官方文档特别说...

阅读全文>>

url_rewrite 规则

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /


#目录格式规则
RewriteRule ^post/([0-9]+)$ index\.php\?post=$1
RewriteRule ^record/([0-9]+)$ index\.php\?record=$1
RewriteRule ^tag/(.+)$ index\.php\?tag=$1
R...

阅读全文>>

cxf demo mvn 配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>


<groupId>com.tmser</grou...

阅读全文>>

maven web 项目导入eclipse 发布时不自动拷贝依赖包到lib

  maven web 项目导入eclipse 发布时不自动拷贝依赖包到lweb-inf/ib问题 。

 解决方案是:运行转eclipse插件式增加参数, mvn eclipse:eclipse -Dwtpversion=2.0


Problem

In Eclipse 3.5 or early version, in order to deployed the Maven dependencies to the correct “/WEB-INF/lib ” folder, you have to con...

阅读全文>>

mysql 索引优化实践

环境:Mysql 5.6

表:35个字段

当在字段建立索引后,使用 like **% 时,第一次查询不会使用索引,之后才会使用索引。


对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。下面用几个例子对比查询条件的不同对性能影响.


create table test(

a int,

b int,

c int,...

阅读全文>>

java equals 原则与违反

Object 中equals的约定指出 equals 必须实现非空对象的等值关系:


◆自反性:对于如何非空值 x,表达式 x.equals(x) 应返回true。


◆对称性:对于任何非空值:x 和 y,x.equals(y) 应返回true,当且仅当 y.equals(x) 返回 true。


◆传递性:对于任何非空值 x、y、z,如果 x.equals(y)返回 true 并且 y.equals(z) 返回 true,那么x.equals(z) 应返回 true。


◆一致性:对于任何非空值:x 和 y,如果对象的equals比较中所用信息未被修改,多次调用 x.eq...

阅读全文>>

struts2 restful 整合配置

     项目使用struts2,想添加一个提供restful 服务的模块,自然想到用restful 插件实现。关于struts2 + restful 的无配置整合,下面这篇文章描述的很详细:

http://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/

    项目未使用零配置插件,且restful 要做其中一个模块,以便使用项目的服务层,减少开发时间。所以上面文章的配置方式需要做些调整。

1. 改进struts配置。

   

<!--url 后缀设...

阅读全文>>

eclispe Unsupported major.minor version 51 问题解决汇总

Unsupported major.minor version **

随着Java 版本增多,类似问题出现概率也随之增大。 原因很简单就是导入的jar 版本与运行环境所需的版本不一致。

常见的有:

1 、使用java 7 编译的web 项目发布到tomcat 6, 或使用java 7 以下版本的web 容器。 

这类解决方式很简单,就是设置下编译器的jdk 版本,编译后重新发布就可以。

比如,在Eclipse中,“project => Proerties => Java Compiler”,设置”Compiler compliance level”为执行环境的Java版本...

阅读全文>>

shiro 注解不起作用bug 解决

环境: spring 3.2.5 + struts2 + shrio 1.2

为使用aop 注解,根据官方文档增加拦截器。


	<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
		<property name="proxyTargetClass" value="true" />
	</bean>
	
	<b...

阅读全文>>