打开菜单File –New-MavenProject
下一步,直接默认,点击next
下一步选择maven-archetype-webapp,然后下一步
输入Group Id和artifact Id。Group Id一般填入项目名称,Artifact Id一般填入子项目的名称,然后下一步
新建以后的项目文件结构
index.jsp错误是因为缺少javax.servlet.http.HttpServlet
选择pom.xml文件,并打开,选择Dependencies标签,打开Dependencies选项卡,并增加一个新的Dependency
先添加javax.servlet.http.HttpServlet
再添加Springweb
Group Id:org.springframework
Artifact Id:spring-web
Version:4.2.4.RELEASE
依赖库设定完之后,如果本地不存在还需要从网络上下载相应的依赖库,选中pom.xml文件,右击鼠标选中Run AS – maven install,然后系统自动从网络上下载相应的依赖库
遇到一个问题
打开pom.xml,在project标签内添加如下代码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
保存以后在 maven install
依赖库下载完之后,可以在目录JavaResources =》 Liraries =〉 Maven Dependencies中看到相应的库文件
在src =》 main目录下新建文件夹java
在java中新建类Hello.java,包名为com.springmvc.controller
Hello.java代码如下:
package com.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller类定义为一个Spring MVC控制器
@Controller
public class Hello {
//@RequestMapping第一次使用表明,该控制器上的所有处理方法是相对于/Hello 路径
@RequestMapping(value="/Hello")
public String HelloWorld(Model model){
model.addAttribute("message","Hello World!!!");
return "HelloWorld";
}
}
在src =》 main =〉webapp =》 WEB-INF目录下新建文件夹view,并新建文件Hello.jsp
Helloworld.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>message:${message}</h1>
</body>
</html>
选中web.xml文件,双击打开该文件,修改该文件使其如下:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!-- SpringMVC的前端控制器 -->
<servlet>
<servlet-name>springdemo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 不实用默认名和默认位置就要设置自己定义的控制器xml文件 -->
<!-- <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/demo-servlet.xml</param-value>
</init-param> -->
</servlet>
<!-- Spring MVC配置文件结束 -->
<!-- 拦截设置 -->
<servlet-mapping>
<servlet-name>springdemo</servlet-name>
<!-- 由SpringMVC拦截所有请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
web.xml 文件将被保存在您的Web应用程序的 WebContent/ WEB-INF 目录下。 在 DispatcherServlet 的 项目 初始化,该框架将尝试从一个名为 [servlet-name]-servlet.xml位于应用程序 WebContent/WEB-INF 目录文件加载应用程序上下文。创建一个demo-servlet.xml文件。
接下来,<servlet-mapping>标记指示URL会被DispatcherServlet处理。这里全部用.jsp结束HTTP请求将由DispatcherServlet的Hello处理。如果不想用默认文件名为[servlet-name]-servlet.xml和默认位置的WebContent/WEB-INF。 在 web.xml 文件中定义该文件的名称和位置
在src => main => webapp => WEB-INF目录下新建文件demo-servlet.xml,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="com.springmvc.controller" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> -->
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
运行程序,先配置 tomcat, https://tomcat.apache.org/download-80.cgi,我下载了tomcat8,解压以后放在目录下
打开eclipse配置tomcat
启动项目