SpringMVC笔记——SpringMVC基础Tomcat环境配置

Tomcat安装配置


下载Apache Tomcat

  1. 进入官网https://tomcat.apache.org/,选择tomcat 9

    这边使用idea开发,建议直接下载压缩包

    无法访问下载的可以直接用我的下载链接:https://cloudreve.zxbdwy.online/s/6nSA
    提取码:w1pwk3
  2. 将压缩包解压到合适路径
  3. 测试是否能使用
    进入 bin 文件夹

    双击 startup.bat


    控制台出现乱码,等下解决,先打开浏览器,输入localhost:8080

    这样就算安装完成了

解决中文乱码

  1. 回到 bin 的上一级,进入 conf 目录
  2. 修改 logging.properties

    java.util.logging.ConsoleHandler.encoding 的值改为:GBK
  3. 再次运行

springMVC项目设置


新建项目

修改maven路径

添加SpringMVC依赖

pom.xml 添加如下依赖:

<!-- SpringMVC -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.1</version>
</dependency>
<!-- 日志 -->
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version> 
</dependency>
<!-- ServletAPI -->
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
</dependency>
<!-- Spring5和Thymeleaf整合包 -->
<dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring5</artifactId><version>3.0.12.RELEASE</version>
</dependency>

修改打包方式

pom.xml 添加如下:

<packaging>war</packaging>

记得刷新

项目模块设置

使用idea自动生成 web.xml


web.xml 的基础配置

<?xml version="1.0" encoding="UTF-8"?>  
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"  version="4.0">  <!--  注册springMVC的前端控制器,对浏览器所发送的请求统一进行处理在此配置下,springMVC的配置文件具有默认的位置和名称        默认的位置:WEB-INF        默认的名称:<servlet-name>-servlet.xml        若要为springMVC的配置文件设置自定义的位置和名称        需要在servlet标签中添加init-param        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:springMVC.xml</param-value>        </init-param>        load-on-startup:将前端控制器DispatcherServlet的初始化时间提前到服务器启动时    -->    <servlet>  <servlet-name>springMVC</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>springMVC</servlet-name>  <url-pattern>/</url-pattern>  </servlet-mapping>  </web-app>

添加Spring容器配置

resources 下新建 SpringMVC.xml:

添加如下配置:

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <!--扫描控制层组件-->  <context:component-scan base-package="com.zxb.controller"/>  <!-- 配置Thymeleaf视图解析器 -->  <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">  <property name="order" value="1"/>  <property name="characterEncoding" value="UTF-8"/>  <property name="templateEngine">  <bean class="org.thymeleaf.spring5.SpringTemplateEngine">  <property name="templateResolver">  <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">  <!-- 视图前缀 -->  <property name="prefix" value="/WEB-INF/templates/"/>  <!-- 视图后缀 -->  <property name="suffix" value=".html"/>  <property name="templateMode" value="HTML5"/>  <property name="characterEncoding" value="UTF-8" />  </bean>  </property>  </bean>  </property>  </bean>  </beans>

创建controller

java目录下创建 com.zxb.controller.testController:

java类内容如下:

package com.zxb.controller;  import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  @RestController  
public class testController {  @RequestMapping("/test")  public String test() {  return "hello world";  }  
}

设置项目读取Spring容器配置文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SpringMVC项目配置Tomcat


  1. 编辑配置
  2. 添加新配置
  3. 配置tomcat服务器

    选择刚刚安装的路径
  4. 部署SpringMVC项目



验证


浏览器输入:http://localhost:8080/springMVC_base_war_exploded/test

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

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

相关文章

婚姻情感 20

婚姻情感 20 怎么和异性聊天&#xff1f;1. 第一步&#xff1a;判断关系2. 第二步&#xff1a;适应状态3. 第三步&#xff1a;信号识别4. 第四步&#xff1a;反应判断5. 第五步&#xff1a;深层控制6. 第六步&#xff1a;复盘定局7. 第七步&#xff1a;破局操控场景描述 怎么和…

【Java并发知识总结 | 第七篇】Java并发相关概念总结(程序/进程/线程、并行/并发、同步/异步、死锁/避免、线程安全/三大特性)

文章目录 7.并发相关概念总结&#xff08;程序/进程/线程、并行/并发、同步/异步、死锁/避免、线程安全/三大特性&#xff09;7.1程序、进程与线程7.2并行和并发7.3同步和异步7.4什么是死锁&#xff1f;如何避免&#xff1f;7.5何为线程安全&#xff1f;以及三大特性 7.并发相关…

java多线程-并发和并行

进程 并发 进程中的线程是由CPU进行调度的&#xff0c;但是CPU能够处理的进程数量有限为了保证所有的线程都在运行&#xff0c;CPU会快速切换&#xff0c;给外界的感觉就是所有的线程都在运行&#xff0c;这就是并发。 并行

【毕设绝技】基于 SpringCloud 的在线交易平台商城的设计与实现(一)

毕业设计是每个大学生的困扰&#xff0c;让毕设绝技带你走出低谷迎来希望&#xff01; 基于 SpringCloud 的在线交易平台商城的设计与实现 一、摘 要 随着互联网的快速发展&#xff0c;人们对商品经济的消费和思考不再停留在传统的经济模式上&#xff0c;网上购物商城是企业与…

安卓手机APP开发__媒体开发部分__常见问题答疑解惑

安卓手机APP开发__媒体开发部分__常见问题答疑解惑 目录 1.修复"Cleartext HTTP traffic not permitted"错误 2.修复"SSLHandshakeException", "CertPathValidatorException" 和 "ERR_CERT_AUTHORITY_INVALID" 错误 3.为什么一些媒…

vue3第二十三节(全局属性方法应用)

vue2 与 vue3 的全局属性使用方法区别 1、globalProperties getcurrentinstace vue3 中已经移除对外暴露 getcurrentinstace,建议使用下面两种 2、provide | inject 3、mitt 事件总线程 1、vue2 通过 prototype 实例上挂载属性/方法,用于全局调用 // main.js import Vue from…

C语言入门课程学习记录4

C语言入门课程学习记录4 第18课 - signed 与 unsigned第19课 - 再论数据类型第20课 - 经典问题剖析第21课 - 程序中的辅助语句&#xff08;上&#xff09;第22课 - 程序中的辅助语句&#xff08;下&#xff09; 本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程&#xff0c;…

git submudles 代码如果提交到一个ID 上

要将git submudles代码提交到一个ID上&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 确保已将本地仓库更新到远程仓库最新版本&#xff0c;避免提交出现冲突。 2. 进入子模块目录&#xff0c;进行添加、修改等操作&#xff0c;并使用git add暂存更改。 3. 使用git c…

pytest教程-30-测试数据管理插件-pytest-datadir

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest重复执行用例插件pytest-repeat&#xff0c;本小节我们讲解一下测试数据管理插件-pytest-datadir。 在软件测试中&#xff0c;有效管理测试数据对于编写全面的测试用例至关重要。Pytest…

vue基础教程(7)——构建项目级首页

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、页面结构二、侧边栏三、主体部分总结 前言 前面我们学习了vue的路由和登录页搭建&#xff0c;本文将和大家共同学习首页的搭建。 首页示例如图&#xff1a; 很多项目经验比较少的同学&#xff0c;一般都是对某些语…

深入探索Android Service:后台服务的终极指南(下)

引言 Service组件在Android应用中扮演着至关重要的角色&#xff0c;尤其是在执行后台任务和进程间通信时。然而&#xff0c;Service的不当使用可能会导致性能问题&#xff0c;甚至影响系统稳定性。本文将深入探讨Service性能优化技巧的最佳实践。 一、Service性能优化策略 Ser…

浅谈操作系统中的重要概念——进程

文章目录 一、什么是程序&#xff1f;二、什么是进程&#xff1f;三、进程与程序有什么区别&#xff1f;四、OS是如何管理进程的4.1、使用 结构体 进行描述进程4.2 、使用数据结构组织众多进程4.3、PCB4.3.1、PCB 里有哪些属性4.3.1.1 pid4.3.1.2 内存指针4.3.1.3 文件描述符表…

2024年如何保存微信小程序里的音频文件#下载高手

今年是2024年&#xff0c;仍然有很多人不知道如何下载&#xff0c;本文就带你们学会如何下载微信小程序里面的音频素材 这里要用到一个工具&#xff0c;下载高手 下载高手链接&#xff1a;https://pan.baidu.com/s/1JUWmNXozWSS3xgmvpdyf0g?pwd1234 提取码&#xff1a;1234…

后端程序员利用 AI 给网站制作专业 favicon

看看你的 Chrome 浏览器顶部的标签页&#xff0c;每个标签页前面有一个小小的图标&#xff0c;这个就是 favicon&#xff0c;如果你将网页保存到收藏夹&#xff0c;前面也会是这个小图标。这个图标有时候就是网站的 Logo&#xff0c;有时候也不太一样。 上面截图中&#xff0c…

【C语言】typedef

为一个数据类型起一个新的别名 typedef int INTEGER; INTEGER a,b; a1; b2;typedef char ARRAY20[20]; ARRAY20 a1,a2,s1,s2;typedef struct stu{char name[20];int age;char sex; }STU; STU body1,body2;typedef int (*PTR_TO_ARR)[4]; PTR_TO_ARR p1,p2;typedef int (*PTR_TO…

PHP7 +nginx Docker 部署

一、php docker 1、创建php Docker, Dockerfile文件如下 FROM php:7.3.7-fpmRUN mkdir -p /php/myphp 2、启动脚本start.sh&#xff0c;其中会安装php mysql驱动 #&#xff01;/bin/bash rm -rf myphp unzip myphp.zip cp .env.pro ./myphp cp .env ./myphpdocker rm -f m…

Apifox接口调试工具

1、Apifox简介 Apifox 是集 API 文档、API 调试、API Mock、API 自动化测试多项实用功能为一体的 API 管理平台&#xff0c;定位为 Postman Swagger Mock JMeter。旨在通过一套系统、一份数据&#xff0c;解决多个工具之间的数据同步问题。只需在 Apifox 中定义 API 文档&a…

Nginx代理MinIO时出现“Access Denied“错误

MinIO与Nginx集成时&#xff0c;如果出现"Access Denied"错误&#xff0c;通常意味着Nginx代理的请求没有被正确地转发到MinIO服务。 出现错误&#xff1a; <Error><Code>AccessDenied</Code><Message>Access Denied.</Message><…

leetcode-合并二叉树-90

题目要求 思路 1.如果两个结点都存在&#xff0c;就把对应的val加起来创建一个新的结点 2.如果有一个结点不存在&#xff0c;就用村在的那个结点 3.最后返回创建的头结点 代码实现 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* Tre…

【鸿蒙应用】理财App

目录 第一节项目讲解项目介绍 第二节&#xff1a;项目创建登录静态框架编写登录页面设稿新建项目控制台添加项目Login页面封装标题组件 第三节&#xff1a;登录页静态表单编写第四节—内容页架构分析底部栏组件第五节—底部栏组件切换第六节&#xff1a;首页静态页编写第七节&a…