springmvc环境搭建以及常见问题解决

  1. 云栖社区>
  2. 博客>
  3. 正文

springmvc环境搭建以及常见问题解决

余二五 2017-11-07 21:23:00 浏览1012
展开阅读全文

v1.新建maven工程

a)  打开eclipse,file->new->project->Maven->Maven Project

 b)  下一步

c)   选择创建的工程为webapp,下一步

 d)   填写项目的group id和artifact id。一般情况下,group id写域名的倒序,artifact id写项目名称即可。最后点完成。

e)   最初建好后,项目目录结构如下

f)   一般的项目目录中,还有src/main/java,src/main/test/java,src/main/test/resources这 三个source folder,需要手动创建。

 

v2. 修改项目基本设置

a)    右键此项目名称->Properties->Java Build path,点击source标签。

 

 b)  将上missing的文件夹删除,然后重新添加,如下:

 c)   重新添加之后的效果如下:

d)   如果某些folder不想 build path,直接remove就行了(本人只选择了src/main/java, 和 src/main/resources),最终如下:

 e)  修改jre系统

 

 f)  修改java compiler compliance level 与 jre系统的level一致

 g) 修改Project Facets

Dynamic Web Module无法在这里直接修改为3.0,需要打开工程目录下有一个.settings文件夹,打开org.eclipse.wst.common.project.facet.core.xml,做如下修改:

<installed facet="jst.web" version="3.0"/>

重启eclipe就可以看到更改生效了。

v3.必要的配置文件

 在Java Resources/scr/main/resources目录下,创建configs文件夹,以便存放在web.xml中声明的配置路径

vapplicationContext.xml (Spring的公共配置文件)

 View Code

vspring-mvc-config.xml (springmvc的配置文件)

 View Code

 

vweb.xml配置文件

 View Code

 

最后添加工程依赖的jar包,也就是配置pom.xml, 最终效果图如下

  注:其实测试的话没有必要依赖这么多了,只需要将spring-webmvc依赖上就行了。

vpom.xml

 View Code

v4.简单的测试

  写一个简单的Controller,放在src/main/java文件夹下。然后写一个hello.jsp文件或者hello.ftl文件放在WEB-INF/views目录下,因为在spring-mvc-config.xml中已经指定了<property name="templateLoaderPath" value="/WEB-INF/views/" />(freemarker视图解析器) 和  <property name="prefix" value="/WEB-INF/views/" />(InternalResourceViewResolver视图解析器)视图文件的位置。

Controller

 View Code

hello.jsp

 View Code

v5.常见问题解决

va)  工程项目有小红叉,但是却找不到错误

  window->show view->problems, 查看错误如下:


Dynamic Web Module 3.0 requires Java 1.6 or newer.    test        line 1    Maven Java EE Configuration Problem


      Java compiler level does not match the version of the installed Java project facet.    test  Unknown    Faceted Project Problem (Java Version Mismatch)

  解决办法:

  在pom.xml中添加如下代码, 然后右键项目->maven->update project

复制代码
 <profiles>
    <profile>
        <id>jdk-1.7</id>
        <!-- 另外一种激活方式 -->
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.7</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.7</maven.compiler.source>
            <maven.compiler.target>1.7</maven.compiler.target>                     
            <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
        </properties>
    </profile>
  </profiles>
复制代码

 

vb) 用tomcat启动工程时出现 如下的错误:

复制代码
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:518)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:499)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4733)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5251)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
复制代码

  解决办法:右键项目->properties->Deployment Assembly, 然后添加 maven dependencies

     

 

 

vc) 采用uuid主键生成策略遇到的问题

  No generator named "uuid" is defined in the persistence unit

  解决办法:右键项目->properties->JPA->Errors/Warnings, 或者 window->preferences->java persistence->JPA->Errors/Warnings

vd)maven工程在tomcat中的结构

  maven工程的src/main/webapp 中的内容会在tomcat项目的根目录下,还有就是maven工程的target中的classes文件夹会在tomcat项目的根目录下。










本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/5450255.html,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注