什么是Springmvc以及如果编写第一个入门程序

Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图:

这里写图片描述

Springmvc处理流程

这里写图片描述

入门程序

创建web工程

springMVC是表现层框架,需要搭建web工程开发。

如下图创建动态web工程:

这里写图片描述

输入工程名,选择配置Tomcat(如果已有,则直接使用),如下图:

这里写图片描述

配置Tomcat,如下图

这里写图片描述

选择准备好的Tomcat,这里用的是Tomcat7,如下图:

这里写图片描述

选择成功,点击Finish,如下图:

这里写图片描述
这里写图片描述

如下图选择web的版本是2.5,可以自动生成web.xml配置文件

这里写图片描述

导入jar包

从课前资料中导入springMVC的jar包,位置如下图:
这里写图片描述

加入配置文件

创建config资源文件夹,存放配置文件,如下图:
这里写图片描述

创建springmvc.xml

创建SpringMVC的核心配置文件
SpringMVC本身就是Spring的子项目,对Spring兼容性很好,不需要做很多配置。
这里只配置一个Controller扫描就可以了,让Spring对页面控制层Controller进行管理。

创建springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 配置controller扫描包 --><context:component-scan base-package="cn.itcast.springmvc.controller" /></beans>

配置文件需要的约束文件,位置如下图:

这里写图片描述

创建包cn.itcast.springmvc.controller

效果如下图:
这里写图片描述

配置前端控制器

配置SpringMVC的前端控制器DispatcherServlet

在web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>springmvc-first</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!-- 配置SpringMVC前端控制器 --><servlet><servlet-name>springmvc-first</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定SpringMVC配置文件 --><!-- SpringMVC的配置文件的默认路径是/WEB-INF/${servlet-name}-servlet.xml --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc-first</servlet-name><!-- 设置所有以action结尾的请求进入SpringMVC --><url-pattern>*.action</url-pattern></servlet-mapping>
</web-app>

加入jsp页面

把参考资料中的itemList.jsp复制到工程的/WEB-INF/jsp目录下,如下图:
这里写图片描述
这里写图片描述

实现显示商品列表页

创建pojo

分析页面,查看页面需要的数据,如下

<tr><td>${item.name }</td><td>${item.price }</td><td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td><td>${item.detail }</td><td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td></tr>

创建商品pojo(可以用逆向工程导入)

public class Item {// 商品idprivate int id;// 商品名称private String name;// 商品价格private double price;// 商品创建时间private Date createtime;// 商品描述private String detail;创建带参数的构造器
set/get。。。
}

创建ItemController

ItemController是一个普通的java类,不需要实现任何接口。
需要在类上添加@Controller注解,把Controller交由Spring管理
在方法上面添加@RequestMapping注解,里面指定请求的url。其中“.action”可以加也可以不加。

@Controller
public class ItemController {// @RequestMapping:里面放的是请求的url,和用户请求的url进行匹配// action可以写也可以不写@RequestMapping("/itemList.action")public ModelAndView queryItemList() {// 创建页面需要显示的商品数据List<Item> list = new ArrayList<>();list.add(new Item(1, "1华为 荣耀8", 2399, new Date(), "质量好!1"));list.add(new Item(2, "2华为 荣耀8", 2399, new Date(), "质量好!2"));list.add(new Item(3, "3华为 荣耀8", 2399, new Date(), "质量好!3"));list.add(new Item(4, "4华为 荣耀8", 2399, new Date(), "质量好!4"));list.add(new Item(5, "5华为 荣耀8", 2399, new Date(), "质量好!5"));list.add(new Item(6, "6华为 荣耀8", 2399, new Date(), "质量好!6"));// 创建ModelAndView,用来存放数据和视图ModelAndView modelAndView = new ModelAndView();// 设置数据到模型中modelAndView.addObject("list", list);// 设置视图jsp,需要设置视图的物理地址modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");return modelAndView;}
}

启动项目测试

启动项目,浏览器访问地址
http://127.0.0.1:8080/springmvc-first/itemList.action

效果如下图:
这里写图片描述

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

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

相关文章

Springmvc架构详解

框架结构 框架结构如下图&#xff1a; 架构流程 1、 用户发送请求至前端控制器DispatcherServlet 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器根据请求url找到具体的处理器&#xff0c;生成处理器对象及处理器拦截器(如果有则生成)一…

Win10下VS2015(WDK10)驱动开发环境配置

1、 概述 微软在”WDK7600“以后就不再提供独立的内核驱动开发包了&#xff0c;而是必须首先安装微软集成开发环境VisualStudio&#xff0c;然后再从微软官网下载集成的WDK开发包、或者离线安装包&#xff0c;但是安装后Visual Studio就集驱动程序开发&#xff0c;编译&…

jquery添加div实现消息聊天框

上代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &l…

VS调试启动编辑并继续功能

在VS调试的过程中&#xff0c;可能需要进行源代码的修改&#xff0c;一般的做法是先停止当前的调试&#xff0c;然后重新编译再进行调试&#xff0c;哪怕做的一点点小的改动&#xff0c;这样做很浪费时间&#xff0c;尤其是当项目比较大&#xff0c;程序的启动和初始化需要较长…

张小龙:如何把产品做简单

今天从一个小故事开始讲&#xff1a;为什么苹果的手机只有一个按钮&#xff1f; &#xff08;台下&#xff1a;我觉得对于用户来说&#xff0c;只有一个按钮不会有太多的干扰&#xff0c;只要从这里开始&#xff0c;其它的菜单都在这里面了&#xff0c;这是我个人的一些想法。&…

聊天机器人调用API实现

后端调用API&#xff1a; package com.mychat.servlet;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder;…

Dump文件

1. Dump文件 1. Dump文件介绍 Dump文件(Dump File)&#xff0c;也叫转储文件&#xff0c;以.DMP为文件后缀。dump文件是进程在内存中的镜像文件&#xff0c;通过转换然后存储成以.DMP后缀的文件。dump文件根据存储时的选项不同&#xff0c;会生成不同大小的文件&#xff0c;其中…

web聊天室实现

后端&#xff1a; package com.jsx.chat;import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CopyOnWriteArraySet;import javax.websocket.OnClose; imp…

一对一聊天ajax实现

前端页面&#xff1a; 好友列表&#xff1a; 好友列表代码&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <% page import"java.util.Random" %> <% taglib ur…

“模块计算机类型“x64”与目标计算机类型“X86”冲突解决方案

最近在编译一款开源软件的时候&#xff0c;遇到了“模块计算机类型“x64”与目标计算机类型“X86”冲突的问题&#xff0c;网上查了好多资料&#xff0c;都是配置“链接器-》高级-》目标计算机”和选择X64平台编译器&#xff0c;可是怎么试都不行&#xff0c;最后发现是“命令行…

windows稀疏文件

稀疏文件(Sparse File), 指的是文件中出现大量的0数据&#xff0c;这些数据对我们用处不大&#xff0c;但是却一样的占用我们的空间&#xff0c;针对此&#xff0c;WINNT 3.51中的NTFS文件系统对此进行了优化&#xff0c;那些无用的0字节被用一定的算法压缩起来&#xff0c;使得…

选夫婿1

Problem Description 倾国倾城的大家闺秀潘小姐要选夫婿啦&#xff01;武林中各门各派&#xff0c;武林外各大户人家&#xff0c;闻讯纷纷前来&#xff0c;强势围观。前来参与竞选的男生藏龙卧虎&#xff0c;高手云集&#xff0c;才子遍布&#xff0c;帅哥纷纭&#xff0c;更不…

Qt实现Word文档界面样式--QtitanRibbon

QtitanRibbon - Microsoft Ribbon for Nokias Qt概念的实现 QtitanRibbon组件实现了Microsoft Ribbon for Qt的概念&#xff0c;设计用于任何使用Qt开发的商业应用。这个组件和Qt一道为获取一些应用提供了一个难得的机会&#xff0c;这些应用在全球三大主要平台Windows、Linux和…

选夫婿2

Problem Description 倾国倾城的大家闺秀潘小姐要选夫婿啦&#xff01;武林中各门各派&#xff0c;武林外各大户人家&#xff0c;闻讯纷纷前来&#xff0c;强势围观。前来参与竞选的男生藏龙卧虎&#xff0c;高手云集&#xff0c;才子遍布&#xff0c;帅哥纷纭&#xff0c;更不…

轻松反编译C#的DLL

深入了解Unity&#xff0c;需要知道它内部是怎样工作的&#xff0c;API的代码长什么样&#xff0c;本文以UnityEditor.dll为例&#xff0c;演示如何轻松搞定C#库的反编译。 使用的软件是jetbrains系的doPeek&#xff0c;.NET Reflector 9.0也能做同样的工作&#xff0c;但不太推…

Qt5中文乱码解决方案

升级到Qt5.X之后&#xff0c;原先解决的Qt显示中文乱码的方法突然不适用了&#xff0c;找了很多方式来解决这个问题 第一种&#xff1a; 在公司代码里看到的方法&#xff0c;先将对应的cpp文件用windows自带的记事本打开&#xff0c;另存为UTF-8格式&#xff0c;然后在代码中&a…

带你玩转Visual Studio——带你理解多字节编码与Unicode码

转自&#xff1a;http://blog.csdn.net/luoweifu/article/details/49382969 上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C运行时库及它的来龙去脉&#xff0c;这是C开发中特别容易误入歧途的一个地方&#xff0c;我…

如何快速高效读懂1本书

——半研墨拆书2《如何阅读1本书》 作为运营来讲&#xff0c;除了在实操中学习&#xff0c;还要扩充视角&#xff0c;开阔思维&#xff0c;建立更多解决问题的思考框架&#xff0c;这就要求我们&#xff0c;要多读书&#xff0c;还要会读书。就是说&#xff0c;我们在快速阅读的…