HelloWorld实例(springmvc版)
admin
2023-07-30 18:00:06
0

本文将对应用springmvc实现HelloWorld打印,其步骤如下:

1、加入相关jar包,在maven项目里就是在pom.xml文件中引入相关实际依赖

2、在web.xml文件中配置DispatcherServlet

3、加入springmvc配置文件

4、编写处理请求的请求处理器,并标识为处理器

5、编写视图

下面通过代码具体实现:

1、配置pom.xml文件,相当于加入jar包

HelloWorld实例(springmvc版)

 1  2  4  5     4.0.0 6  7     com.wn.third-ssmm 8     third-ssmm 9     1.0-SNAPSHOT10     war11 12     13         UTF-814         UTF-815         4.2.4.RELEASE16         1.817     18 19     20     21         22         23             org.springframework24             spring-core25             ${spring.version}26         27         28             org.springframework29             spring-beans30             ${spring.version}31         32         33             org.springframework34             spring-context35             ${spring.version}36         37         38             org.springframework39             spring-web40             ${spring.version}41         42         43             org.springframework44             spring-webmvc45             ${spring.version}46         47         48             org.springframework49             spring-jdbc50             ${spring.version}51         52         53         54         55             org.projectlombok56             lombok57             1.16.858             provided59         60     61 62     63         64             65                 org.apache.maven.plugins66                 maven-compiler-plugin67                 68                     1.869                     1.870                     utf-871                 72             73         74     75 

HelloWorld实例(springmvc版)

2、在web.xml文件中配置DispatcherServlet

    DispatcherServlet的作用:如果在某个方法上配置了@RequestMapping("/helloworld"), 当浏览器访问helloworld时,DispatcherServlet会将这个请求发送给      @RequestMapping("/helloworld")所在的方法上,执行这个方法 

HelloWorld实例(springmvc版)

 1  2  5      6      9     10         SpringDispatcherServlet11         org.springframework.web.servlet.DispatcherServlet12         13         14             contextConfigLocation15             classpath*:springmvc.xml16         17     18         119     20     21         SpringDispatcherServlet22         /  23     24     25         /index.jsp26     27 

HelloWorld实例(springmvc版)

3、配置springmvc.xml文件

HelloWorld实例(springmvc版)

 1  2 12     13     14     15     16         17         18     19 

HelloWorld实例(springmvc版)

4、编写处理请求的请求处理器,并标识为处理器

HelloWorld实例(springmvc版)

 1 package com.atguigu.springmvc.handlers; 2  3 import org.springframework.stereotype.Controller; 4 import org.springframework.web.bind.annotation.RequestMapping; 5  6 @Controller //这样标识后HelloWorld成为控制器,在springmvc叫做handler处理器或请求处理器 7 public class HelloWorld { 8     /** 9      * 1、使用@RequestMapping注解来映射请求的URL10      * 2、返回值会通过视图解析器解析为实际的物理视图:对于InternalResourceViewResolver视图解析器,会做如下解析:11      *    通过prefix+returnvel+后缀这样的方式得到实际的物理视图,然后转发12      *    /WEB-INF/views/success.jsp13      * @return14      */15     @RequestMapping("/helloworld")16     public String hello() {17         System.out.println("HelloWorld");18         return "success";19     }20 }

HelloWorld实例(springmvc版)

5、编写请求文件index.jsp

HelloWorld实例(springmvc版)

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3  4  5  6  7 Insert title here 8  9 10     11     HelloWorld12 13 

HelloWorld实例(springmvc版)

6、在WEB-IFN下新建views文件夹,在views文件夹下新建最终页面success.jsp,如下

HelloWorld实例(springmvc版)

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3  4  5  6  7 Insert title here 8  9 10     
Success Page
11 12 

HelloWorld实例(springmvc版)

运行结果:

HelloWorld实例(springmvc版)

注:1、并不一定严格按照上述创建各个文件的先后顺序完善各个文件内容,各个文件交叉配置

      2、在web.xml文件中,我们也可以不适用contextConfigLocation来配置springmvc配置文件的位置和名称,可以使用默认的,

      默认的配置文件为:/WEB-IFN/-servlet.xml ,即将springmvc.xml文件移至WEB-IFN文件夹下,并该名为

     SpringDispatcherServlet-servlet.xml。

      3、有关spring mvc访问静态资源的问题

  关于使用spring mvc处理静态资源,比如html(发现之前的springmvc.xml中定义为jsp结尾就可以成功跳转,但是如果改为html并在web-inf下面新建了html文件后,并将suffix这里的".jsp"改为".html",无法跳转到想要的html页面,并且给出404错误,同时console给出错误信息为:No mapping found for HTTP request with URI [/springTest/WEB-INF/views/result.html] in DispatcherServ)

     原因是:该 servlet 对应的 url-pattern 定义成 /,因此该 servlet 会匹配上诸如 /p_w_picpaths/a.jpg, /css/hello.css 等这些静态资源,甚至包括 /jsp/stock/index.jsp 这些 jsp 也会匹配。但是并没有定义相应的 Controller 来处理这些资源,因此这些请求通常是无法完成的。 

     所以,在web.xml中加入

HelloWorld实例(springmvc版)

 1  2      default 3      *.css 4  5  6  7       default 8       *.gif 9 10 11 12     default13      *.jpg14 15 16 17      default18      *.js19 20 21 22       default23       *.html24 

HelloWorld实例(springmvc版)

将springmvc.xml改为:

1 class="org.springframework.web.servlet.view.InternalResourceViewResolver">2             3             4 5

就可以访问静态资源.jpg格式的图片了。


相关内容

热门资讯

丘成桐:基础研究要讲“兴趣”,... 2026年7月6日,第三十六届国际弦理论大会(Strings 2026)在上海开幕。本届大会由上海数...
凤凰直击哈梅内伊葬礼高清现场:... 7月6日,伊朗在德黑兰为已故最高领袖哈梅内伊举行送葬仪式。凤凰卫视驻德黑兰记者李睿发回高清现场报道:...
C2B2M模式下,头部母婴品牌... 在母婴消费赛道,Babycare是一个无法被忽视的名字。从一款婴儿背带切入市场,到连续三年中国母婴用...
特朗普谈美国球员获“特赦”:是... 在特朗普干预后,国际足联放宽美国前锋巴洛贡的红牌处罚,引发全球舆论批评。福克斯新闻网7月6日报道,特...
不用自吹实力,看美军操作就知道... 有分析认为,解放军已建成覆盖第一、第二岛链的反介入/区域拒止作战圈,远洋作战能力也在快速发展。军事评...
豆包又一功能下线,“应用生成”... IT之家 7 月 6 日消息,据《读佳》今日消息,豆包在宣布全面下线“智能体”功能之前,其“应用生成...
腾讯正式发布混元Hy3 北京商报讯(记者 魏蔚)7月6日,腾讯混元Hy3 正式发布。相比preview版本,它展现出显著强于...
跳过麒麟9030 华为Mate... 7月6日消息,去年9月,华为发布了三折叠Mate XTs非凡大师。在这场发布会上,华为常务董事、终端...
宇树获批,人形机器人行情提速,... 近期,人形机器人产业迎来多重标志性催化:宇树科技获批文即将登陆资本市场,四足与人形机器人双线布局进入...
2026年游戏及多任务处理性能... 在2026年的今天,对于热爱手游、追求极致流畅体验,同时又需要具备强大后台多任务处理能力的用户来说,...