SpringMVC 简单的开始
SpringMVC简单的开始
利用Spring模板配置写一个web项目。
1.核心配置文件(模板代码)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 关联一个springmvc的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value> </init-param>
<!-- 启动级别-->
<load-on-startup>1</load-on-startup>
</servlet> <!-- / 匹配所有请求,不包括.jsp-->
<!-- /* 匹配所有请求,包括.jsp -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2.spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!-- 前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="/h1" class="com.lian.HelloServlet"/>
</beans>
3.写Servlet类HelloController
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// ModelAndView模型和视图
ModelAndView mv=new ModelAndView();
//封装对象,放在 ModelAndView中
mv.addObject("msg","HelloSpringMVC!!");
//封装要跳转的视图,放在 ModelAndView中
mv.setViewName("hello");///WEB-INF/jsp/hello.jsp
return mv;
}
}
写这个例子的时候要跳转到 /h1 页面时候报404错误
查看了project Structure发现是项目的lib包没进来

要保证项目需要的包都导入了

执行原理分析:
1.用户发送请求request,被DispatcherServlet拦截,DispatcherServlet是前置控制器,DispatcherServlet通过关联一个springmvc的配置文件来处理请求;
2.在配置文件springmvc中加载处理器映射器BeanNameUrlHandlerMapping,这个处理器会自动适配拥有id的bean标签,执行结果返回给DispatcherServlet
3.DispatcherServlet加载处理器适配器SimpleControllerHandlerAdapter,这个适配器会找到bean标签的class属性对应的方法类所在位置,这个例子中是class=“com.lian.HelloController”,这个方法类就是我们说的Controller,里面是我们日常写的业务逻辑,将业务处理结果一步步返回,最终回到DispatcherServlet
4.DispatcherServlet调用视图解析器InternalResourceViewResolver,解析器将Controller里面要返回的jis文件的名字拿到,然后拼接成jsp页面的完整路径,解析器执行结束会返回一个view(是InternalResourceView类的实例)给DispatcherServlet
5.DispatcherServlet将拿到的view响应给前端页面
原理图:

SpringMVC 简单的开始的更多相关文章
- SpringMVC简单配置
SpringMVC简单配置 一.eclipse安装Spring插件 打开help下的Install New Software 点击add,location中输入http://dist.springso ...
- SpringMVC简单入门
SpringMVC简单入门 与大家分享一下最近对SpringMVC的学习,希望本文章能对大家有所帮助. 首先什么是SpringMVC? Spring 为展现层提供的基于MVC设计理念的优秀的Web框架 ...
- SpringMVC简单实例(看起来有用)
SpringMVC简单实例(看起来有用) 参考: SpringMVC 基础教程 简单入门实例 - CSDN博客http://blog.csdn.net/swingpyzf/article/detail ...
- SpringMVC简单使用教程
一.SpringMVC简单入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- eclipse建立springMVC 简单项目
http://jinnianshilongnian.iteye.com/blog/1594806 如何通过eclipse建立springMVC的简单项目,现在简单介绍一下. 工具/原料 eclip ...
- 基于注解的SpringMVC简单介绍
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...
- Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能
利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...
- SpringMvc简单实例
Spring MVC应用一般包括4个步骤: (1)配置web.xml,指定业务层对应的spring配置文件,定义DispatcherServlet; (2)编写处理请求的控制器 (3)编写视图对象,例 ...
- springMVC 简单事例
本帖最后由 悲观主义者一枚 于 2015-1-31 17:55 编辑 使用SpringMvc开发Android WebService入门教程1.首先大家先创建一个JavaWeb项目2.然后加入Spri ...
- SpringMVC学习总结(四)——基于注解的SpringMVC简单介绍
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet负责转发每一个Request ...
随机推荐
- JavaWeb学习笔记第二弹
(续集)DQL:查询操作 1.排序查询 排序方式:(仅有一个排序参照时) 1.升序:ASC(默认) 命令:**select * from 表名 order by 列名 (asc);** 2.降序:DE ...
- Javaweb项目和Maven项目的相关导包
Javaweb项目的学习大致需要一下几个导包: 以上几个包需要导入到WEB-INF目录下的lib文件夹里面,主要操作如下: 1.新建一个lib文件夹(在WEB-INF目录下) 2.右键lib文件夹,选 ...
- PMP常见会议小结
转载请注明出处: 会议是吸引项目团队和其他干系人参与的重要方式.它们是整个项目的主要沟通方式. 一. 项目启动会 召开时间:是启动阶段结束时召开的会议. 主要任务:发布项目章程,并任命项目经理,赋予项 ...
- 2023最新ELK日志平台(elasticsearch+logstash+kibana)搭建
前言 去年公司由于不断发展,内部自研系统越来越多,所以后来搭建了一个日志收集平台,并将日志收集功能以二方包形式引入自研系统,避免每个自研系统都要建立一套自己的日志模块,节约了开发时间,管理起来也更加容 ...
- JS中我们为什么要new个实例而不直接执行
正常情况:<script> function sayHello() { alert("hello") } sayHello();直接调用他 </script> ...
- selenium的准备工作
1.安装python 默认无脑安装 勾选添加到path环境变量 安装成功后的展示: 2.安装pycharm 创建项目 并且把pycharm与python关联起来 3.在当前项目下下载selenium( ...
- CLion在工程中添加目录&新文件
1.将新建文件夹添加到cmake.txt文件里 include_directories(Core/新建文件夹 Core/UserInc Drivers/STM32L4xx_HAL_Driver/Inc ...
- 虚拟机安装linux操作系统中IP设置
问题描述:用虚拟机安装linux操作系统时,不选择分配IP,系统默认会分配动态IP,如果是临时搭建,就可以默认动态IP,也可以使用连接工具连接虚拟机.但如果是长期使用,选择使用固定的IP会更好,需要手 ...
- SQL优化(一)
1.什么是SQL优化 SQL语句的优化是将性能低下的SQL语句转换成目的相同但是性能优异的SQL语句. 2.为什么需要学习SQL优化 SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定 ...
- SpringBoot入门(二):Controller的使用
Controller中注解的使用: @Controller ●该注解用来响应页面,必须配合模板来使用 @RestController ●该注解可以直接响应字符串,返回的类型为JSON格式 ...