第二个helloword

配置文件:

1、添加pom文件

(1)配置parent

代码实现:

        <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent>

(2)添加依赖

代码实现:

<properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency>

(3)添加插件

代码实现:

 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

2、添加(复制粘贴)WEB-INF以及web.xml

注:

(1)sprinpmvc是一个基于用户请求的mvc框架,原因见结构图

配置前端控制器:

代码实现:

 <servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/applicationContext-mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

注:

(1)前端控制器的作用:拦截所有的web请求

(2)url-pattern内的参数:

1)/*:拦截所有的请求,一般用于网站前台网站

2)/:拦截所有的web请求或者tomcat请求,一般用于开发普通工程,图片及静态资源不会拦截

3)*.action *.do:一般用于开发后台管理系统

配置应用上下文:

注:之前写过了在这里就不赘述了

代码实现:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:util="http://www.springframework.org/schema/util"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttps://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsd"><context:component-scan base-package="com.zzxtit.spring.mvc.action"></context:component-scan>    <!-- 配置视图解析器--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/views/"></property><property name="suffix" value=".jsp"></property></bean>    </beans>

编写类:

代码实现:

package com.zzxtit.spring.mvc.action;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("/hello")
public class HelloWorldController {@RequestMapping("sayHello")public String sayHello() {return "success";}
}

注:

requestmapping注解:

(1)既可以在类名上添加也可以在方法名上添加

编写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><div align="center"><h1>SUCCESS</h1></div>
</body>
</html>

发布到tomcat:

注:

(1)tomcat发布时能将对应的文件放到正确的位置的原因:

如所有的包都放到lib文件夹中,所有的java文件都放到class文件夹中

原因:

进入bulidpath,按照图示找到设置文件位置的区域

注:

(1)可以看到对应的文件都放到了对应的位置,如静态资源文件放到了class文件夹,依赖放到了lib文件夹

(2)假如说我们把关于依赖的发布删除掉,再发布一次我们可以看到,连lib文件夹都没有

注:

如果再需要添加回来

1)点击add

2)

3)

4)finish

(3)当我们的工程出现了问题,可以先检查发布的路径对不对,比如说我们编写了一个类,但在tomcat 下却没有发现这个类,这时我们先重新发布一下,如果还没有出现则是因为没有编译

需要手动勾选自动编译

注:一般情况不会出现,因为eclipse默认勾选自动编译

spring模糊路径

Requestmapping中的属性值

1、默认值value(当不写属性名称时,输入的属性值直接赋值给value)

注:

(1)其中有一行注释其含义为与path等价

(2)value是一个数组,当输入多个值时将多个访问路径指向handler

代码实现:

value= {"/sayHello", "/nihao"}

2、method :定义当前handler接受请求的方法

注:

(1)可用的方法不只有get和post还包括 put delete等(可以参考一下httpservlet的源码)

(2)method也是一个数组可以使用多种方法访问

代码实现:

method= {RequestMethod.POST}

(3)通过地址访问一定是get,不管传没传值,所以一般的访问方法无法访问到该handler,如果想使用post的方法访问需要使用表单方式。

(4)此时出现了一个新的错误405Method Not Allow

(5)当不设置值时任何请求都可以访问

请求路径的模糊匹配

1、?表示匹配任意一个字符

代码实现:

@RequestMapping(value= {"/sayH?llo", "/nihao"})

注:

(1)不可以是/或者\等在此处有一定意义(如分级等)的符号

(2)任意符号不包括0个字符

2、*表示任意字符

代码实现:

@RequestMapping(value= {"/sayH*lo", "/nihao"})

注:

(1)可以是0个字符

(2)但其中不能跨级(也就是其中不能含有/)

3、**表示任意层级任意字符

代码实现:

@RequestMapping(value= {"/sayH/**/llo", "/nihao"})

【spring】第二个springmvc helloworld 以及 spring模糊路径相关推荐

  1. Spring boot (6)---SpringMVC框架和spring Boot的区别

    SpringMVC框架和spring Boot的区别 1.我们知道Spring是一个一站式框架功能十分强大,就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是S ...

  2. Spring第二弹—–搭建与测试Spring的开发环境

    PS:Spring既可以使用在javaSE中,也可以使用在javaWeb中. 使用Spring需要的jar 下载spring(我下载的是2.5.6版本),然后进行解压缩,在解压目录中找到下面jar文件 ...

  3. MySQL数据库事务、mybatis框架、spring框架、springmvc框架、永和大王门店管理系统(框架第二部分)

    第十二章 MySQL数据库事务 一. 事务及四大特性 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行 ...

  4. (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72231763 之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBa ...

  5. 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用

    http://www.importnew.com/13246.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯Web架构基础技 ...

  6. SpringMVC容器和Spring容器

    Tomcat&Jetty在启动时给每个Web应用创建一个全局的上下文环境,这个上下文就是ServletContext,其为后面的Spring容器提供宿主环境. Tomcat&Jetty ...

  7. springboot+jsp中文乱码_【spring 国际化】springMVC、springboot国际化处理详解

    在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...

  8. Spring:笔记整理(1)——HelloWorld

    Spring:笔记整理(1)--HelloWorld 导入JAR包: 核心Jar包 Jar包解释 Spring-core 这个jar 文件包含Spring 框架基本的核心工具类.Spring 其它组件 ...

  9. Spring学习笔记:第一个Spring Boot程序HelloWorld

    Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...

最新文章

  1. CS131-专题7:图像特征(SIFT算法)
  2. Mysql统计分组区间的人数和
  3. 听君今一言,似读半月书
  4. Windows Phone UI控件
  5. sklearn特征的选择
  6. 什么是 Linux Foundation
  7. 流畅和稳定的API的Lambda
  8. linux服务器i o模型,高性能服务器框架--I/O模型
  9. CEF与快速交换的比较
  10. 微信小程序 宠物论坛1
  11. 以太网测试仪的RFC2544测试你了解吗?
  12. 弗吉尼亚理工计算机科学排名,弗吉尼亚理工大学专业排名
  13. 【复习笔记】计算机网络求职考点整理
  14. STL容器的底层数据结构
  15. vue修改vant自带的样式_@jie
  16. ctfshow-web入门-node.js
  17. springboot微软文本转语音(texttospeach) java实现微软文本转语音
  18. 苹果手机的隐藏功能分享
  19. Unity2D 官方骨骼动画Anima2D使用方法
  20. 17届智能车-湖科逐梦四队硬件开源

热门文章

  1. 通过IP地址和子网掩码与运算计算相关地址
  2. Jsoncpp 在C++开发中的一些使用记录
  3. Oracle 存储过程 无法编译 解决方法(转载)
  4. 用一行代码高效的求一个列表的平方和
  5. java中xxe漏洞修复方法
  6. Tomcat虚拟目录设置
  7. BIEE-CSS样式大全
  8. 产品经理和程序员的爱恨情仇
  9. javascript 利用 - 枚举思想 - 添加地名的一个小例子
  10. [BuildRelease]build number / id