Spring MVC 入门(一)

helloworld

​ IDEA创建工程:

选择SpringMVC即可,等待创建

编写前端控制器

由于SpringMVC需要一个前端控制器(相当于医院分诊台)来拦截前端请求,并且智能分发。

前端控制器是一个Servlet,所以应该在Web.xml中配置servlet进行拦截

在WEB-INF目录下的web.xml文件中,有一个叫做dispatcher的东西,内容如下(初始状态可能没有< init-param >以及其子模块)

<servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>index.jsp</param-value></init-param><load-on-startup>1</load-on-startup></servlet>

接下来是该部分的详细讲解:

<load-on-startup>1</load-on-startup>

load-on-startup 代表服务器启动时创建对象,其数值代表优先级,数值越小,优先级越高,越先创建对象。不加该标签则在第一次访问时创建对象

<init-param><param-name>contextConfigLocation</param-name><param-value>index.jsp</param-value>
</init-param>

该部分指定配置文件位置,因此我们在src 文件下创建一个SpringBean 文件,创建方法如图:


然后将< param-value >该为:classpath: springmvc.xml;

如下:

 <init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param>

将< servlet-mapping >中的对应 < url-pattern> 改为/

    <servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern><!-- /*与/都是拦截所有请求,但是“/*”会拦截jsp页面,一旦拦截,jsp页面将无法显示/不会拦截jsp,保证jsp访问正常--></servlet-mapping>

然后在springmvc.xml< bean>中添加:

 xmlns:context="http://www.springframework.org/schema/context"

添加后的结果应该是:

<?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"xmlns:context="http://www.springframework.org/schema/context">
</beans>

添加扫描所有组件:

<context:component-scan base-package="com.tryMvc"></context:component-scan>

其中base-package中写想要扫描的包

编写处理器

为了测试,我选择在WEB-INF下添加文件,目录结构如图:

success.xml文件内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Success!</title>
</head>
<body><a href="/hello">Hello world</a>
</body>
</html>

然后在src文件下创建Java文件,

在MyFirstController 中添加方法,并且添加@Controller注解

@Controller是用来表示哪个组件是控制器,

代码如下:

@Controller
public class MyFirstController {@RequestMapping("/hello")//处理当前项目下的Hello请求public String myFirstController(){System.out.println("Get");return "/WEB-INF/pages/success.jsp";}}

请求处理完返回success页面

注意:此处由于/WEB_INF/pages/success.jsp请求前缀是/WEB-INF/pages,后缀是.jsp,所以可以在springmvc.xml中配置一个视图解析器,这样返回时,可以直接返回网页文件名。代码如下:

    <!--  配置一个视图解析器,能帮助拼接页面地址 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages"></property><property name="suffix" value=".jsp"></property></bean>

prefix代表前缀,suffix代表后缀

运行前的准备:

在运行前,需要在IDEA环境中配置Apache服务器步骤如下:

1、

点击右上角Add Configuration并在左侧选择+

2、

选中TomcatServer

3、

选择本地Tomcat文件

4、

选择Deployment,并点击右侧加号,然后点击Artifact…


配置完成

运行

运行成功!

SpringMVC入门(一)之HelloWorld(IDEA版)相关推荐

  1. springMVC入门配置及helloworld实例

    1. 新建web project 2. 往lib里copy必须的jar 3. 改写web.xml <?xml version="1.0" encoding="UTF ...

  2. 【SpringMVC 笔记】SpringMVC 原理 + 入门项目(xml 配置版 vs 注解版)

    SpringMVC 入门项目 什么是 SpringMVC? 中心控制器 SpringMVC 执行原理 执行流程 xml 配置版 1.创建一个 Web 项目 2.pom.xml 中导入 SpringMV ...

  3. java jni helloword_JNI入门教程之HelloWorld篇

    JNI入门教程之HelloWorld篇 来源:互联网  宽屏版  评论 2008-05-31 09:07:11 本文讲述如何使用JNI技术实现HelloWorld,目的是让读者熟悉JNI的机制并编写第 ...

  4. java mvc 菜鸟_【java框架】SpringMVC(1)--SpringMVC入门

    1. SpringMVC框架认识 Spring MVC是一个基于MVC模式的Web框架,SpringMVC作为Spring中的一个模块,它与Spring能够无缝集成,主要用于解决企业Web开发中常见的 ...

  5. SpringMVC 入门教程

    SpringMVC 入门教程 1.参考资料 2020年IDEA版黑马Java就业班-进阶篇(Mybatis.Spring.SpringMVC.Maven.springboot和项目等等 项目地址:On ...

  6. 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结

    本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...

  7. 《Redis入门指南(第2版)》一第2章 准备

    本节书摘来异步社区<Redis入门指南(第2版)>一书中的第2章,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 准备 R ...

  8. php开发自学经典.pdf_PHP从入门到精通(第3版) PDF扫描版[45MB]

    PHP从入门到精通(第3版)从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术.全书共分4篇25章,包括初识PHP.PHP环境搭建和开发工具.P ...

  9. 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用

    本节书摘来自异步社区<Android应用开发入门经典(第3版)>一书中的第6章,第6.1节创建演示应用,作者 [美]Carmen Delessio , Lauren Darcey , Sh ...

  10. 《iOS 9应用开发入门经典(第7版)》——第2章,第2.4节小结

    本节书摘来自异步社区<iOS 9应用开发入门经典(第7版)>一书中的第2章,第2.4节小结,作者 [美]约翰 雷(John Ray),更多章节内容可以访问云栖社区"异步社区&qu ...

最新文章

  1. python恶搞表情包-Python开发个人专属表情包网站,表情在手,天下我有
  2. 为什么要用相对论为GPS导航提供修正
  3. pycharm提示your evalluation license has expired解决方法
  4. Swift3 Scanner用法之判断是否数字、提取字符串里的数字
  5. Windows学习总结(17)——Windows 15个重要运行命令
  6. 天翼网关获取超级密码
  7. python毕业设计作品基于django框架校园网站系统毕设成品(6)开题答辩PPT
  8. 4月份的成长月刊(文末有福利)
  9. 关于在手机上注册Google账号
  10. html中字号的标签是什么,htmlfont标签是什么?font标签的属性的详细介绍
  11. mysql将公历农历转换_SQL农历转换函数(显示中文格式,加入润月的显示)
  12. excel怎么设置自动计算_EXCEL内输入起始时间,如何自动计算小时时间差?
  13. [XCode] XCode 6 中修改模拟器版本
  14. codeforces 416E President's Path floyd+D(递)P(推)
  15. python基础教学习题_python基础|数据类型练习题
  16. 前端程序员Vue开发经验总结
  17. SpringBoot设置默认主页
  18. 淘宝百亿补贴入口在哪里怎么进入领取淘宝百亿补贴优惠券?
  19. 安卓之软键盘监听与切换软键盘状态和重新获取EditText焦点
  20. Python吴恩达深度学习作业16 -- 人脸识别

热门文章

  1. Java讲课笔记13:类的继承
  2. 大数据学习笔记27:MR案例——多输入源处理成绩
  3. 【Tyvj1783】【codevs2418】【BZOJ1856】字符串,厉害的组合数与模型转换
  4. 8.霍夫变换:线条——动手编码、霍夫演示_4
  5. windows app html5,使用 HTML5 來偵測位置 (HTML)
  6. json生成shp_使用JS把shapefile地图数据转换为geojson格式
  7. gp3688 uhf2扩频_摩托罗拉GP3688对讲机(VHF、UHF)对讲机维修
  8. Windows中导出电脑文件名或者文件结构的方法
  9. mysql Inoodb 内核
  10. CCF201503-3 节日(100分)