博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC Hello World 实例
阅读量:6987 次
发布时间:2019-06-27

本文共 5500 字,大约阅读时间需要 18 分钟。

hot3.png

环境的准备

安装JDK

  • 下载地址: 选择 JDK7u80

  • 安装JDK

  • 配置 JAVE_HOME CLASSPATH PATH 环境变量

安装tomcat

  • 下载地址:
  • 解压到规划的目录

安装eclipse for j2ee

  • 下载地址:
  • 选择Eclipse IDE for Java EE Developers
  • 解压到规划目录

下载spring-framework

  • 下载地址:
  • 选择版本4.1.8.RELEASE
  • 解压到规划目录

下载依赖包

  • 下载commons-logging,地址:

  • 下载log4j,地址:

配置开发环境

  • 启动eclipse
  • 配置tomcate。windows-->preferences-->server-->runtime environments。add tomcat,安装地址为tomcat8的解压目录,jre选择jre7

开发Hello World

新建web工程

  • 新建 Dynamic Web Project

新建web工程

target runtime 选择 Apache Tomcat v8.0

Dynamic web module version 选择 3.1。注意 tomcat7,不支持高版本

Configuration 选择 Tomcat v8.0

  • 添加 source folder

添加源码目录

  • 配置 web module

配置生产web.xml

勾选 Generate web.xml deployment descriptor

添加工程内容

  • 添加依赖包

将spring-framework的包拷贝到WebContent/WEB_INF/lib下。

将commons-logging的包拷贝到WebContent/WEB_INF/lib下。

将log4j的包拷贝到WebContent/WEB_INF/lib下。

  • 修改web.xml
SpringMVC
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
SpringMVC
org.springframework.web.servlet.DispatcherServlet
1
SpringMVC
/
  • 添加servlet 在WebContent/WEB_INF下添加 SpringMVC-servlet.xml文件,内容如下:
  • 添加jsp文件 在WebContent/WEB_INF/jsp下添加 hello.jsp,内容如下:
<%@ page contentType="text/html; charset=UTF-8" %>	Hello World   

${message}

  • 添加controller 在src下添加class文件:HelloController.java,内容如下:
package org.springtest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.ui.ModelMap;@Controllerpublic class HelloController{    @RequestMapping(value = "/hello", method = RequestMethod.GET)   public String printHello(ModelMap model) {      model.addAttribute("message", "Hello Spring MVC Framework World!");      return "hello";   }}

运行工程

  • 新建tomcat server 在servers视图中新建一个server

新建一个server

新建server 直接点击finish

新建的server

  • 配置tomcat server

选择server,然后右键,可以看到有 open start stop restart等操作

输入图片说明

  • 运行spring工程

右键web porject, Run As --> Run on Server.

在eclipse的浏览器,或者本机的浏览器地址栏输入: 就可以看到输出的内容

调试

当修改了java的内容后,等上几秒钟就会重新编译,并且推送到tomcat目录下,刷新页面就可以看到变化。

常见问题

访问tomcat 404

是因为在servers视图中创建了server,但是没有配置使用tocat的安装目录导致。

访问tomcat 404

解决方法:在servers视图删除server,并新建,新建后 勾选 “server location” 下的 “use tomcat installation”,并保存

如果“server locations”下为灰色,则删除server后重建,或者多删除几次。

spring工程无法启动

表现为tomcat无法启动

tomcat 无法启动

启动spring工程报错,异常信息如下:

严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVC]]	at java.util.concurrent.FutureTask.report(Unknown Source)	at java.util.concurrent.FutureTask.get(Unknown Source)	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)	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)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVC]]	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)	... 6 moreCaused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;	at java.lang.Class.getDeclaredFields0(Native Method)	at java.lang.Class.privateGetDeclaredFields(Unknown Source)	at java.lang.Class.getDeclaredFields(Unknown Source)	at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)	at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:132)	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:334)	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5066)	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)	... 6 moreCaused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)	... 20 more

观察日志可以看出,是由于缺少了 common-logging 和 log4j的包

访问spring工程报404

访问地址: 报404 是由于在servers视图,没有勾选 “server options” 下的 “publish module contexts to separate XML files”,并保存。

server options设置

解决办法:勾选“publish module contexts to separate XML files”

转载于:https://my.oschina.net/u/583362/blog/523367

你可能感兴趣的文章
腾讯云TDSQL审计原理揭秘
查看>>
postgresql的源码安装及配置使用
查看>>
Nginx反向代理腾讯云COS的一个坑
查看>>
简单sql server数据库自动还原脚本
查看>>
我的友情链接
查看>>
【MySQL数据库开发之四】MySQL 处理模式/常用查询/模式匹配等(下)
查看>>
http 长连接和短连接介绍
查看>>
E-STP
查看>>
(JMX读书笔记)-JMX基本概念
查看>>
grep的语法和用法
查看>>
【hadoop】25.MapReduce-shuffle之分组
查看>>
Apache CarbonData:大数据生态一种新的高性能数据格式
查看>>
Macbook Pro 关闭SIP 方法
查看>>
centos下统计目录下所有文件的的个数
查看>>
(26)改变自动扫描的包【从零开始学Spring Boot】
查看>>
论Linux系统学习的奇淫异巧
查看>>
如何在国内愉快的安装 Kubernetes v1.6.2
查看>>
Mysql GTID 模式详解
查看>>
es6函数总结
查看>>
Nodejs--readline(逐行读取)
查看>>