博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC_创建一个springmvc
阅读量:6622 次
发布时间:2019-06-25

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

# SpringMVC 简介

 

# 创建一个SpringMVC

1:创建一个maven项目

(创建maven项目的目的是,便于开发者管理jar文件,当然也可以创建普通的web项目)

2:修改pom.xml文件中的内容(用于导入一些相关的jar包)

4.0.0
com.doaoao
firstMvc
0.0.1-SNAPSHOT
war
junit
junit
3.8.1
test
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-webmvc
5.0.4.RELEASE
firstMvc
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
UTF-8

3:在webapp目录下创建WEB-INF目录,在WEB-INF目录下创建web.xml文件(该文件可从其它wen文件中拷贝过来)

该文件用于注册springmvc的中央控制器

firstMvc
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
springMVC
*.do

4:在maven项目的src/main/resources目录下创建springmvc配置文件,文件名随意,但需与第三部中的<param-value>标签中的保持一致即可

 5:创建一个类来实现接口 " org.springframework.web.servlet.mvc.Controller ",将实现该接口的类称为Controller

package com.doaoao.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class HelloSpringMvc implements Controller{    @Override    public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception    {        ModelAndView mv = new ModelAndView();                // 向ModelAndView这个对象中添加一条数据,命名未hello,内容为hello first spring mvc        mv.addObject("hello", "hello first spring mvc");                // 括号中的内容是要跳转的jsp的路径和文件名        mv.setViewName("/WEB-INF/jsp/first.jsp");        return mv;    }}

 6:在SpringMVC配置文件 springmvc.xml文件中注册Controller(该Controller为第5步所创建的)

7:在WEB_INF/jsp 下创建文件 first.jsp(与第5步中跳转的页面地址一样)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>    
Insert title here ${hello}

 8:在浏览器中访问:http://localhost:8080/newMvc/hello.do

hello为第5步所编写的所要访问的地址

如果当前的浏览器显示 "hello first spring mvc" 说明创建成功

# 配置视图解析器

在上方的代码中,会有冗余现象出现

在Controller中,如果编写多个Cntroller的话,要编写多次 mv.setViewName("/WEB-INF/jsp/first.jsp"); 中的 /WEB-INF/jsp 和 .jsp 所以可以配置视图解析器来解决该问题,视图解析器是springmvc提供的

1:在springmvc.xml 文件中配置视图解析器

ean>

2:修改Conroller中的内容(也就是上方所创建的HelloSpringMvc中的内容)

mv.setViewName("first");
# 上方第一个SpringMvc的执行流程

1:用户按下回车键,浏览器将请求 http://localhost:8080/newMvc/hello.do 发送到web服务器(tomcat服务器),然后系统会在web.xml文件中查找与之匹配的servlet,我们在web.xml中设置的拦截请求 .do ,只要请求是以.do 结尾的,都会匹配到springMVC的核心 DispatcherServlet 上

2:随后 DispatcherServlet 会到springmvc配置文件springmvc.xml中查找与hello.do请求相匹配的Controller,就例如上面我们为请求 hello.do所配置的Cnntroller响应为 com.doaoao.controller.HelloSpringMvc  

3:当找到对应的Controller时,DispatcherServlet 会将请求转到对应的Controller中,并调用该类中的 handleRequest方法来处理该请求

4:在handleRequest方法中执行完成后会将ModelAndView对象返回给DispatcherServlet,然后DispatcherServlet将jsp响应给浏览器,流程结束

本笔记参考自:小猴子老师教程 http://www.monkey1024.com

转载于:https://www.cnblogs.com/Doaoao/p/10644843.html

你可能感兴趣的文章
DNGuard 免费的DotNet加密保护工具 V1.0
查看>>
编程中的命名设计
查看>>
easyui form validate总是返回false原因
查看>>
在(CListView)列表视图中添加右键菜单的方法
查看>>
打SharePoint 2010 SP1后访问用户配置文件同步服务应用程序出错的解决办法
查看>>
推荐《HeadFirst设计模式》
查看>>
Android中的onActivityResult和setResult方法的使用
查看>>
word双栏排版,最后一页由于分节符造成最后一页是空白页,删除分节符双栏就变成了单栏...
查看>>
手机web不同屏幕字体大小高度自适应
查看>>
服务器端口及连接及应用程序间的关系
查看>>
Android监听HOME键的最简单的方法
查看>>
Java 数组
查看>>
inotify+rsync实现实时同步
查看>>
C#GUID
查看>>
ASP.NET 5 入门(1) - 建立和开发ASP.NET 5 项目
查看>>
spring+activemq中多个consumer同时处理消息时遇到的性能问题
查看>>
git clone 遇到的坑
查看>>
linux系统/var/log目录下的信息详解
查看>>
Android中利用LinearLayout继承实现ImageButton 转
查看>>
图片处理--边缘高亮
查看>>