编写一个简单的spring MVC程序

一、下载和安装spring框架

  进入http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.0.RELEASE/下载一个spring框架,然后打开lib目录里的jar文件拷贝到项目的WEB-INF/lib目录下。

二、配置web.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<servlet>
  <!-- servlet名称 -->
  <servlet-name>springmvc</servlet-name>
  <!-- servlet对应的类 -->
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <!-- 当前servlet的参数信息 -->
  <init-param>
     <!-- contextConfigLocation是参数名称,该参数的值包括Spring MVC的配置文件路径-->
     <param-name>contextConfigLocation</ param-name >
     <param-value>/WEB-INF/springmvc-config.xml</param-value>
  </init-param>
  <!-- 在web应用启动时立即加载Servlet -->
    <load-on-startup>1</load-on-startup>
</servlet>
<!-- 让Spring MVC的前端控制器拦截所有请求 -->
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

三、配置Spring MVC的Controller 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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-4.2.xsd">
  <!-- 配置Handle,映射“/hello” 请求-->
  <bean name="/hello" class="org.fkit.controller.HelloController" />
  <!-- 处理映射器将bean的name作为URL进行查找,需要在配置Handle是指定name(即URL) -->
   <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
  <!-- SimpleControllerHandlerAdapter是一个处理器适配器,所有处理适配器都需要实现 HandlerAdapter接口-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/ >
  <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/ >
<beans>

四、Controller类的实现  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.ibs.controller;
  
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
  
@Controller
public class HelloController {
  private static final Log logger = LogFactory.getLog(HelloController.class);
  /* handleRequest是Controller接口必须实现的方法。
      该方法的参数是对应请求的HttpservletRequest和HttpservletResponse.
     该方法必须返回一个包含视图名或视图名和模型的ModelAndView对象
     */
  
  @RequestMapping(value="/hello")
   public ModelAndView hello() {
  
    // 生成日志
    logger.info("hello,world!!"); 
    // 创建一个ModelAndView 对象
    ModelAndView mv = new ModelAndView();
    // 添加模型数据,可以是任意POJO对象
    mv.addObject("message","Another hello world...");
    // 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
    mv.setViewName("/WEB-INF/content/welcome.jsp");
    // 返回这个ModelAndView 对象
    return mv;
   }
 }

五、View页面 

?
1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>欢迎页面</title>
</head>
<body>
  <!-- 页面可以访问Controller传递传递出来的message -->
  ${requestScope.message}
</body>
</html>

转载于:https://www.cnblogs.com/blogShare/p/7444223.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DM368 Uboot

这三个参数均有UBOOT直接传递给内核&#xff0c;所以要想知道他们具体的作用&#xff0c;需要根系内核模块的结构。 dm365_imp.oper_mode 是指在内核模块中内存空间采用连续、或者不连续模式。 davinci_capture.device_type 是你的捕获设备的…

7. B+树

一、B树是应文件系统所需而产生的一种B树的变形树 1. 定义&#xff08;使用阶数m来定义&#xff09; 除了根结点外&#xff0c;其他非终端结点最多有m个关键字&#xff0c;最少有⌈m/2⌉个关键字结点中的每个关键字对应一个子树所有的非终端结点可以看成是索引部分&#xff0c;…

Retinex理论及算法学习

为了能够获取最大的信息量,达到更好的图像增强效果。了解人类视觉系统的特性和图像的属性是准确地选择图像增强方法的必备知识。 一、人眼视觉系统 1、人眼成像 人的眼睛是一个非常复杂的器官。一般来说它就是一个球体,平均直径约为20mm,内壁是一层视网膜(retina),前部…

js或css文件后面的参数是什么意思?

经常看到不少导航网站测样式或js文件后面加了一些参数&#xff0c;主要是一你为一些并不经常更新的页面重新加载新修改的文件。 经常遇到页面里加载的js与css文件带有参数&#xff0c;比如&#xff1a; <script type"text/javascript" src"jb51.js?version1…

TCP/IP协议与UDP协议的区别

首先咱们弄清楚&#xff0c;TCP协议和UCP协议与TCP/IP协议的联系&#xff0c;很多人犯糊涂了&#xff0c;一直都是说TCP/IP协议与UDP协议的区别&#xff0c;我觉得这是没有从本质上弄清楚网络通信&#xff01;TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。…

C++类静态成员与类静态成员函数

当将类的某个数据成员声明为static时&#xff0c;该静态数据成员只能被定义一次&#xff0c;而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本&#xff0c;但静态数据成员只有一个实例存在&#xff0c;与定义了多少类对象无关。静态方法就是与该类相关…

HDR 成像技术学习(一)

在描述一个场景的时候,动态范围(Dynamic Range)指的是其最亮部与最暗部的亮度比值。高动态范围的场景(High Dynamic Range Scene)指的是场景里同时存在非常明亮和非常暗淡的部分。 图像传感器所能捕捉的动态范围是有限的,它受到两个因素的限制,一个是满阱容量(Full Wel…

Linux编程 3 (初识bash shell与man查看手册)

一.初识bash shell 1.1 启动 shell GNU bash shell 能提供对Linux系统的交互式访问。通常是在用户登录终端时启动&#xff0c;登录时系统启动shell依赖于用户账户的配置。etc/passwd文件包含了所有系统用户列表以及每个用户的基本配置信息。      如上图:最后一个字段&…

HDFS概述(5)————HDFS HA

HA With QJM 目标 本指南概述了HDFS高可用性&#xff08;HA&#xff09;功能以及如何使用Quorum Journal Manager&#xff08;QJM&#xff09;功能配置和管理HA HDFS集群。 本文档假设读者对HDFS集群中的一般组件和节点类型有一般的了解。有关详细信息&#xff0c;请参阅HDFS架…

MFC动态创建菜单

http://blog.csdn.net/csdnzhwk/article/details/47395639转载于:https://www.cnblogs.com/darknoll/p/6252917.html

RTP/RTCP

http://hi.baidu.com/ilovejoy/blog/item/daee10efa91e501afdfa3c5f.html http://hi.baidu.com/kikicat0_0/blog/item/6fed87b4b4fb89c536d3ca91.html

HDR 成像技术学习(二)

回顾下之前介绍的内容: HDR成像技术学习(一) 介绍了从HDR、HDR+等多帧HDR技术到硬件的单帧HDR技术。 从技术上来说,单帧HDR要比多帧HDR简单不少,在早期设备处理能力不足的时候,速度快,没拖影,性能要求低的单帧HDR反而要更有优势。到了HDR+时代,单帧HDR渐渐不…

go微服务框架go-micro深度学习(一) 整体架构介绍

产品嘴里的一个小项目&#xff0c;从立项到开发上线&#xff0c;随着时间和需求的不断激增&#xff0c;会越来越复杂&#xff0c;变成一个大项目&#xff0c;如果前期项目架构没设计的不好&#xff0c;代码会越来越臃肿&#xff0c;难以维护&#xff0c;后期的每次产品迭代上线…

杂记---待整理

---恢复内容开始--- shell高亮显示 echo -e 终端颜色 显示内容 结束后的颜色 \e[1;31m content \e[1;0m 1为设置&#xff0c;0为不设置。 31m 0m为颜色 [ucmMacBook-Pro testpace]$ echo -e "\e[1;31m consumer huawei com \e[1;0m"consumer huawei com [ucmMacBook…

(转载)项目实战工具类(一):PhoneUtil(手机信息相关)

项目实战工具类&#xff08;一&#xff09;&#xff1a;PhoneUtil&#xff08;手机信息相关&#xff09; 可以使用的功能&#xff1a; 1、获取手机系统版本号 2、获取手机型号 3、获取手机宽度 4、获取手机高度 5、获取手机imei串号 ,GSM手机的 IMEI 和 CDMA手机的 MEID. 6、…

手把手教你写Linux I2C设备驱动

手把手教你写Linux I2C设备驱动 标签&#xff1a;Linux 设备 驱动 详解 i2c 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/760020 Linux I2C驱动是嵌入…

HDR 成像技术学习(三)—— LOFIC

HDR 成像技术学习(一) HDR 成像技术学习(二) 我们拍摄的照片来自传感器上的像素,它们将光处理为电信号,组合起来输出画面。当捕捉对象亮度过强,大量电荷挤在单个像素内,生成的图像就会过曝。 LOFIC(Lateral Overflow Integration Capacitor,横向溢出集合电容…

[模板]平面最近点对

实现 将平面内点按$x$坐标排序,分治$x$坐标,设$retmin(f(l,mid),f(mid1,r))$, 将$x\in[mid-ret,midret]$内的点按$y$坐标排序,算每个点与相邻的$6$个点的距离找最优解即可. 时间复杂度:$O(nlogn)$. #define N 100005 #define INF 1e15 struct point{double x,y; }p[N]; inline …

人工智能与图像传感器

随着人工智能时代的来临,相应的芯片产品和行业也产生了相应的新方向。 在人工智能的各个分支中,机器视觉无疑是应用最广泛的方向,它支撑着诸如人脸检测、工业异常检测、手势识别等诸多重要的应用。顾名思义,机器视觉是使用机器学习/人工智能的方法来分析视觉信号,并且通过…

用户空间访问I2C设备驱动

2012-01-11 15:33:43标签&#xff1a;Linux I2C 字符设备 设备驱动 用户空间 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/761830 关于Linux下如何编…