【spring】第二个springmvc helloworld 以及 spring模糊路径
第二个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模糊路径相关推荐
- Spring boot (6)---SpringMVC框架和spring Boot的区别
SpringMVC框架和spring Boot的区别 1.我们知道Spring是一个一站式框架功能十分强大,就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是S ...
- Spring第二弹—–搭建与测试Spring的开发环境
PS:Spring既可以使用在javaSE中,也可以使用在javaWeb中. 使用Spring需要的jar 下载spring(我下载的是2.5.6版本),然后进行解压缩,在解压目录中找到下面jar文件 ...
- MySQL数据库事务、mybatis框架、spring框架、springmvc框架、永和大王门店管理系统(框架第二部分)
第十二章 MySQL数据库事务 一. 事务及四大特性 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行 ...
- (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合
http://blog.csdn.net/yerenyuan_pku/article/details/72231763 之前我整合了Spring和MyBatis这两个框架,不会的可以看我的文章MyBa ...
- 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用
http://www.importnew.com/13246.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯Web架构基础技 ...
- SpringMVC容器和Spring容器
Tomcat&Jetty在启动时给每个Web应用创建一个全局的上下文环境,这个上下文就是ServletContext,其为后面的Spring容器提供宿主环境. Tomcat&Jetty ...
- springboot+jsp中文乱码_【spring 国际化】springMVC、springboot国际化处理详解
在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...
- Spring:笔记整理(1)——HelloWorld
Spring:笔记整理(1)--HelloWorld 导入JAR包: 核心Jar包 Jar包解释 Spring-core 这个jar 文件包含Spring 框架基本的核心工具类.Spring 其它组件 ...
- Spring学习笔记:第一个Spring Boot程序HelloWorld
Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...
最新文章
- CS131-专题7:图像特征(SIFT算法)
- Mysql统计分组区间的人数和
- 听君今一言,似读半月书
- Windows Phone UI控件
- sklearn特征的选择
- 什么是 Linux Foundation
- 流畅和稳定的API的Lambda
- linux服务器i o模型,高性能服务器框架--I/O模型
- CEF与快速交换的比较
- 微信小程序 宠物论坛1
- 以太网测试仪的RFC2544测试你了解吗?
- 弗吉尼亚理工计算机科学排名,弗吉尼亚理工大学专业排名
- 【复习笔记】计算机网络求职考点整理
- STL容器的底层数据结构
- vue修改vant自带的样式_@jie
- ctfshow-web入门-node.js
- springboot微软文本转语音(texttospeach) java实现微软文本转语音
- 苹果手机的隐藏功能分享
- Unity2D 官方骨骼动画Anima2D使用方法
- 17届智能车-湖科逐梦四队硬件开源