一、SpringMVC的优势

Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一。Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。Spring MVC 通过一  套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。支持 REST 风格的 URL 请求(GET POST PUT DELTE)。采用了松散耦合可插拔组件结构,比其他 MVC      框架更具扩展性和灵活性.。
二、编写一个简单的SpringMVC项目

1、eclipse中需要先安装Spring

2、安装完Spring后,需要建一个Spring项目:eclipse的File---->New---->动态Web项目

3、导入jar包。如图:

4、配置Web.xml文件

 </welcome-file-list>
<!-- The front controller of this Spring Web application, responsible for handling all application requests -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <!-- Map all requests to the DispatcherServlet for handling -->
<!-- servlet-mapping用来指定请求映射的路径 -->
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<!-- 指定拦截的请求路径! -->
<url-pattern>/</url-pattern>
</servlet-mapping>

  其中:<param-value>classpath:Springmvc.xml</param-value>为你的Spring的配置文件所放置的位置。这里表示的是放在src目录下,且文件名为:Springmvc.xml

当然,你也可以不写:

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

这段代码,这样,默认配置文所在的路径为在WEB-INF下,且名字必须为:上面配置的Servlet的名字+“-”+servlet.xml

例如:我要是不写这段代码,那么我的配置文件应该叫:springDispatcherServlet-servlet.xml

5、.创建SpringMVC的配置文件并添加要扫描的包

①、在你所要添加的文件夹下按右键,选择Other,然后选择Spring Bean Configuration File。如图:

②、点击Next进入下一步,填写配置文件的名字。然后点击下一步。

③、选中如图所示的三个选项。

④、然后点击Finish

⑤、在你的src文件夹下建一个包,例如:com.ysuedu.controller。然后将其配置到刚才的Spring的配置文件中。(不是Web.xml)

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

6、在刚下建好的包下面建一个class。然后在类名上面加上注解:@Controller。这时你会发现你建的这个class文件的图标上有了一个“S”的图案。

7、在类中随便建一个方法。然后在方法前面加上注解:@RequestMapping("/one1")。表明一会jsp页面中项目名后面所要写的地址。(一会说jsp页面怎么写)如图:

return中写的是要返回的页面的地址。

8、下面建立一个jsp页面。

在里面也一个超链接:<a href="${pageContext.request.contextPath}/one1">嗨,SpringMVC </a><br>。根据这个地址以及前面所写的注解,当你点击这个超链接的时候,便    会自动去你配置文件所加的那个包下面找到加了@Controller的注解的类,然后找加了注解@RequestMapping("/one1")的方法,然后执行该方法。这时,我们只需在WEB-INF下面建  一个名为views的文件夹,并在此文件夹下面建一个one.jsp。这样,一个简单的SpringMVC项目就建好了。

9、在two页面运行程序,然后点击这个超链接就会跳转到one.jsp页面了!

之后我还会在写一些关于SpringMVC框架的东西,并且会一步一步的加深。希望不会的小伙伴们可以看一下,同时也真心希望对你们有所帮助。当然如果有小伙伴们感觉我写的不好或者有什么疑问的话,欢迎留言。

SpringMVC入门--编写一个SpringMVC小程序的更多相关文章

  1. 编写一个JAVA小程序取得IP地址

    在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...

  2. 编写一个微信小程序

    1.创建项目 2.创建目录及文件,结构如下:

  3. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  4. 手把手教你写一个RN小程序!

    时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...

  5. 如何快速地开发一个微信小程序

    如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...

  6. Java基础-接口中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。 要求如下: (1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中 有个“坚持党的领导”方法:void partyLeader() (2)该应用程序中有一个“国务院”抽象类:StateCouncil,

    36.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产.请编写一个java应用程序描述上述的体制现象. 要求如下: (1)该应用程序中有一个“党中央”接口 ...

  7. Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

    #29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...

  8. java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E

    21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public vo ...

  9. 第一个mpvue小程序开发总结

    前言 说起小程序,其实在去年我都还只试着照着官方文档写过demo的,不过现在这家公司小程序做得比较多,我来之后也参与了几个小程序的开发了,最开始那几个是用的wepy,最近一个开始转用mpvue开发,最 ...

随机推荐

  1. 在ASP.NET MVC中利用Aspose.cells 将查询出的数据导出为excel,并在浏览器中下载。

    正题前的唠叨 本人是才出来工作不久的小白菜一颗,技术很一般,总是会有遇到一些很简单的问题却不知道怎么做,这些问题可能是之前解决过的.发现这个问题,想着提升一下自己的技术水平,将一些学的新的'好'东西记 ...

  2. 基于Windows服务的聊天程序(一)

    本文将演示怎么通过C#开发部署一个Windows服务,该服务提供各客户端的信息通讯,适用于局域网.采用TCP协议,单一服务器连接模式为一对多:多台服务器的情况下,当客户端连接数超过预设值时可自动进行负 ...

  3. Android - 自定义控件之圆形控件

    自定义控件 - 圈圈 Android L: Android Studio 效果:能够自定义圆圈半径和位置:设定点击效果:改变背景颜色 下面是demo图 点击前: 点击后: 自定义控件一般要继承View ...

  4. MySQL5.6.36 linux rpm包安装配置文档

    一.卸载自带mysql,删除MySQL的lib库,服务文件 [root@localhost ~]#rpm -qa|grep mysql qt-mysql-4.6.2-26.el6_4.x86_64 m ...

  5. Nginx+keepalive局域网其它主机ping vip不通

    有两台高可用server server1  192.168.11.10 server2  192.168.11.11 vip :192.168.11.12 配置好keepalive之后在server1 ...

  6. pwnable.kr bof之write up

    这一题与前两题不同,用到了静态调试工具ida 首先题中给出了源码: #include <stdio.h> #include <string.h> #include <st ...

  7. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  8. 【bzoj1458】士兵占领

    Description 有一个M * N的棋盘,有的格子是障碍.现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵.我们称这些士兵占领了整个棋盘当满足第i行至少放 ...

  9. [转]为什么大型网站前端使用 PHP 后台逻辑用 Java?

    最近纠结了一下,如果开发一个大型的网站,我到底应该使用php还是jsp,后台到底使用php还是用java,我的选择要么是php要么是java,因为我喜欢linux.unix,当然window平台也必须 ...

  10. 5.npm scripts 使用指南

    简单介绍 scripts里面的 "start": "node app" npm run start 相当于 node app { "name" ...