eclipse怎么搭建spring mvc
搭建一个maven项目,mvc架构,web端使用springmvc,主要记录下搭建时遇到的问题
1.主pom.xml文件语句 名称为hibeauty-modules
Java代码
mvn archetype:generate .hibeauty -DartifactId=hibeauty-modules -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
进入目录,分别建立webapp项目以及普通的maven项目。
首先,修改pom.xml文件,把packaging修改为pom,version改为1.0
进入到hibeauty-modules,运行以下命令,项目为名称为hibeauty-web,这是一个webapp项目,之后要单独处理一下。
Java代码
mvn archetype:generate .hibeauty -DartifactId=hibeauty-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
web依赖的service的名称为hibeauty-business,进入到hibeauty-modules,运行以下命令,这是一个普通maven项目
Java代码
mvn archetype:generate .hibeauty -DartifactId=hibeauty-business -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
注意:此时的webapp项目运行mvn eclipse:eclipse并不能被eclipse认可为一个web项目,也就是说你的eclipse里的tomcat不能认出这个web项目,需要运行的是
Java代码
mvn eclipse:eclipse -Dwtpversion=2.0
另外,如果需要下载对应jar包的源码,需要运行
Java代码
mvn eclipse:eclipse -DdownloadSource=true
2.在主pom对应的文件夹里运行 mvn clean install eclipse:eclipse 这样就完成了pom文件中的jar包下载,并且生成了eclipse的对应加载文件,使eclipse能够认出两个bundle了
3.进入到eclipse里面,在tomcat里面导入webapp项目,然后再server里面运行,如果报错的内容是找不到类似于
Java代码
org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException:
org.springframework.web.context.ContextLoaderListener
Error configuring application listener of .springframework.web.util.Log4jConfigListener
java.lang.ClassNotFoundException:.springframework.web.util.Log4jConfigListener
这样,但是如果你在java build path的lib里面又能看到这些包,就需要把这些文件从java build
path里面复制到Deployment Assembly里面。
具体方法properties->Deployment
Assemble->Add->java build path
即可解决。
同理如果出现找不到依赖的project的错误,properties->Deployment
Assemble->Add->project引进来即可
最后,这次框架搭建,我分别用了intellij idea 以及eclipse ,
我的感觉是idea适合搭建框架,因为他对xml文件的支持很好,会自动去找引入的java文件是否存在并提示用户,这方面eclipse就比较弱。
另外
idea的maven支持很好,对于框架搭建的环境要求很低,很多环境配置他自动帮你做了,比如上面的1,2,3步骤,都是针对eclipse的做法。
另
外idea还有个很牛的图示类依赖关系的功能。
但是在代码开发时,eclipse是一个不错的选择。
1 .他有方便的快捷键
2 .svn比idea强,尤其是在增加删除文件的时候。
3 .让我开发时坚定选择eclipse的主要原因是eclipse的报错机制很强,在左边的package explorer可以很清楚的看到出现的错误,当然,前提是开启了build automatically,并且比idea显眼的多
4 .idea不会把当前文件跟左边的目录自动对应,即使打开了那个roll的开关也会经常出问题。
Spring的ContextLoaderListener中的方法 contextInitialized 是如何被调用的,求高手解答一下
容器自己会扫描web.xml,查找有没有listener监听器,有的话会自动加载contextInitialized 这个方法啊,你难道试问里面怎么实现的吗,估计不是吧,是的话再追问,我想应该不是
No WebApplicationContext found: no ContextLoaderListener registered?
配下你的applicationContext.xml的位置
如果在web-inf下:
contextConfigLocation
/WEB-INF/applicationContext.xml
如果在src目录下:
contextConfigLocation
classpath:/applicationContext.xml
anti hotlinking 问题要怎么解决,是我的用法不对吗
在
/webapps/axis2/WEB-INF/web.xml文件中加入下面的内容:
[html] view plaincopy
<.springframework.web.context.ContextLoaderListener contextConfigLocation classpath*:application即可