Eclipse编写ssm框架中遇到的几个问题及解决方案
javaweb classpath的问题:
classpath目录简而言之指的是src目录下,可放在src目录或者其子目录下,读取配置文件位置时指定即可。
classpath 路径在每个J2ee项目中都会用到,即WEB-INF下面的classes目录,所有src目录下面的java、xml、properties等文件编译后都会在此,所以在开发时常将相应的xml配置文件放于src或其子目录下;
引用classpath路径下的文件,只需在文件名前加classpath:(需保证该文件确实位于classpath路径下);
如:
- <param-value>classpath:applicationContext-*.xml</param-value>
或者引用其子目录下的文件,如
- <param-value>classpath:context/conf/controller.xml</param-value>
classpath* 的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径,代码片段:
- <param-value>classpath*:context/conf/controller*.xml</param-value>
########################################################
首先 classpath是指 WEB-INF文件夹下的classes目录
解释classes含义:
1.存放各种资源配置文件 eg.init.properties log4j.properties struts.xml
2.存放模板文件 eg.actionerror.ftl
3.存放class文件 对应的是项目开发时的src目录编译文件
总结:这是一个定位资源的入口
如果你知道开发过程中有这么一句话:惯例大于配置 那么也许你会改变你的想法
对于第二个问题
这个涉及的是lib和classes下文件访问优先级的问题: lib>classes
对于性能的影响应该不在这个范畴
数据绑定问题
在一个删除问题上,传递进来的参数是tid,而在controller类中的接收参数是id,删除操作就没有完成,,将形参使用注解形式转换,即完成数据绑定。
@RequestMapping("/del")
public String del(@RequestParam(value="tid")int id) {
try {
System.out.println("id: " + id);
schoolService.delTeacher(id);
return "success";
} catch (Exception e) {
return "failed";
}
}
以下是我的一个ssm框架整合的一个简单目录架构:
如果感觉传统的javaweb项目步骤太过繁琐与复杂的话,可以采用maven+ssm编程方式,maven可以动态的在远程仓库中下载所需要的jar包,并添加依赖,而需要程序员做的仅仅只是编写maven的pom.xml配置文件,将所需的依赖添加到配置文件中即可。
上一篇: Linux环境下安装MySQL步骤详解
下一篇: 两招提高WinRAR的使用效率