spring MVC 简单入门案例_GZhan1993的博客-程序员宅基地

技术标签: spring  spring-MVC  spring mvc  mvc  结构  

  1. 项目结构

项目的结构

  1. 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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  <!-- 配置自定扫描包 -->
 <context:component-scan base-package="net.spring.controller" />
  <!-- 配置视图解析器 -->
 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver ">
  <property name="prefix" value="/WEB-INF/views/" />
  <property name="suffix" value=".jsp" />
 </bean>
</beans> 

3、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" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <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>
  <servlet-mapping>
    <servlet-name>springDispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

4、 controller的配置

package net.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;



    @Controller
    public class HelloWorldController {
    
        /**
         * 1、使用@RequestMapping來注解映射請求的URL
         * 2、返回值会通过视图解析器解析出来实际的物理视图。
         *   InternalResourceViewResolver解析过程如下:
         *      prefix+ returnVal+suffix 这样的方式得到实际的物理视图,然后做跳转动作。
         * @author Administrator
         *
         */
     @RequestMapping("/helloworld")
     public String helloWorld(){
         System.out.println("hello world!");
         return "success";
     }

    }

5.index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <a href="helloworld">Say Hello</a>
</body>
</html>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GZhan1993/article/details/52997119

智能推荐

keras 图像识别实例CIFAR-10分类,导入数据,查看最初9张图片_bysjlwdx的博客-程序员宅基地

图片识别是卷积神经网络的主要应用之一。这个数据集是有Alex Krizhevsky 、 Vinod Nair 和GeoffreyHinton手机整理。共包含了60000张32* 32的彩色图像,50000张用于训练模型、10000张用于评估模型。训练的数据集被均匀分成10个类别,每个类别刚好包含5000张图片。在keras提供了数据加载的函数,可以非常简单的导入数据。第一次导入时,keras会...

ldr r0,label和ldr r0,=label的区别_猪哥-嵌入式的博客-程序员宅基地

ldr的这两种用法总是容易混淆的,先说结论: ldr r0,label是将标识label处的内容赋值给r0,而ldr r0,=label则是将label这个这个所谓的立即数 数值赋值给r0。 来看几个例子:_TEXT_BASE: .word TEXT_BASE_armboot_start: .word _start_bss_s..._ldr r0

Anastasia and pebbles (Codeforces-789A)_JY_xiaoli的博客-程序员宅基地

题目链接:http://codeforces.com/problemset/problem/789/AA. Anastasia and pebblestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutpu

muduo网络库源码复现笔记(十二):base库的LogStream.h_muduo logstream_liangximin2046的博客-程序员宅基地

Muduo网络库简介muduo 是一个基于 Reactor 模式的现代 C++ 网络库,作者陈硕。它采用非阻塞 IO 模型,基于事件驱动和回调,原生支持多核多线程,适合编写 Linux 服务端多线程网络应用程序。muduo网络库的核心代码只有数千行,在网络编程技术学习的进阶阶段,muduo是一个非常值得学习的开源库。目前我也是刚刚开始学习这个网络库的源码,希望将这个学习过程记录下来。这个网络库的源码已经发布在GitHub上,可以点击这里阅读。目前Github上这份源码已经被作者用c++11重写,我学习的_muduo logstream

Android开发笔记(七十六)线程池管理_aqi00的博客-程序员宅基地

线程池的种类在前面的《Android开发笔记(四十八)Thread类实现多线程》,我们介绍了线程类Thread的使用,可是缺乏线程的统一管理,这会产生如下问题:1、无法控制线程的并发数,一旦同时启动多个线程,可能导致程序挂死;2、线程之间无法复用,每个线程都经历创建、启动、停止的生命周期,资源开销不小;3、线程不能被外部有效地杀死,虽然Thread类提供了stop方法,但该方法已经

【Machine Learning】【Andrew Ng】- Quiz1(Week 9)_塔希提的博客-程序员宅基地

1、For which of the following problems would anomaly detection be a suitable algorithm? A. In a computer chip fabrication plant, identify microchips that might be defective. B. From a large set of ho

随便推点

nginx+tomcat 报错:『an upstream response is buffered to a temporary file 』_weixin_34367257的博客-程序员宅基地

一、过程描述:访问新项目网站发现有静态资源获取failed,图片经常无法显示,刷新偶尔图片能显示出来。查看nginx日志,有error.log报错:【2017/07/21 22:53:12 [warn] 22402#0: *484 an upstream response is buffered to a temporary file /var/tmp/nginx/proxy..._upstream response is buffered to a temporary file /var/cache/nginx/proxy_tem

Redis缓存穿透、缓存雪崩、缓存击穿和缓存预热的详解及其就解决方案_babyWorld的博客-程序员宅基地

Redis缓存的使用可以极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是...

magic_quotes_runtime 的作用_Flybeta的博客-程序员宅基地

在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime

1.流水灯_误人子弟999的博客-程序员宅基地

1.流水灯题目:使用独立按键切换流水灯的不同模式,AT89S51单片机的P0.0-P0.7接八个发光二极管L1-L8,P1.4-P1.7接了四个开关K1-K4,编程按下K1,流水灯自上而下,按下K2,流水灯自下而上,按下K3,流水灯的L1、L3、L5、L7依次点亮,按下K4,流水灯的L2、L4、L6、L8依次点亮。仿真代码#include <reg52.h>#define ...

es Failed to introspect Class [org.elasticsearch.client.RestHighLevelClient] from ClassLoader_我跟你拼啦的博客-程序员宅基地

通常是配置错误 - 这意味着你使用的代码引用了某个类,但该类本身不在类路径中。在这种情况下,这也可能是相关 Elasticsearch poms 本身中的依赖项管理错误,因为它应该包含所需的类 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-clie

牛客多校第五场7月31日补题记录_懵哥很懵的博客-程序员宅基地

B Boxes题意:有 nnn 个盒子,每个盒子中装有黑球白球概率均为 12\displaystyle \frac{1}{2}21​。打开第 iii 个盒子所需代价为 wiw_iwi​。现在有一个机会,使用 ccc 的代价知晓剩余盒子中黑球个数,问使用最优策略开盒子直到直到全部盒子装球颜色情况的期望最小代价。解法:显然询问盒子中有几个黑球这个策略一定只会用一次:第二次用的答案一定可以通过第一次询问的结果与中间新开出来的结果得到。并且越早用越好,因而在 ∑wi<c\sum w_i<c∑wi​&

推荐文章

热门文章

相关标签