java spring mvc 初探 web搭建过程详解

提前准备安装tomcat

设备:mac

第一步:下载
进入官网下载压缩包
注意:如果jdk版本是1.8,则tomcat需要v8才行,否则会报错
https://tomcat.apache.org/
Xnip2021-12-21_16-22-18

第二步:解压
解压后路径
/Users/you/Library/tomcat/apache-tomcat-8.5.73
进入此目录 修改配置 code setclasspath.sh

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
export JRE_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

添加环境变量
Xnip2021-12-21_16-26-19

第三步: 启动服务
cd /Users/you/Library/tomcat/apache-tomcat-8.5.73/bin
sh startup.sh
查看效果 http://localhost:8080/
打开页面看到那只猫表示启动成功
Xnip2021-12-21_16-28-38

停止服务 方式
sh shutdown.sh

demo: spring mvc

目标

  • 创建工程,mvc架构
  • 自定义controller和view(jsp)
// 提前准备安装tomcat 
// tomcat安装后路径:/Users/you/Library/tomcat/apache-tomcat-8.5.73
// Library文件夹是隐藏的,如果需要从idea引入tomcat,还需要注意使用打开隐藏文件开关// 1. 初始化工程
// 创建 spring mvc 工程
- create new project 
- 选择: 左侧spring  右侧 Spring MVC(5.2.3) +Download
- 填写: project name spring02-mvc
- Finished // 2. 工程目录
├── lib
│   ├── aopalliance-1.0.jar
│   ├── commons-logging-1.2.jar
│   ├── spring-aop-5.2.3.RELEASE.jar
│   ├── spring-aspects-5.2.3.RELEASE.jar
│   ├── spring-beans-5.2.3.RELEASE.jar
│   ├── spring-context-5.2.3.RELEASE.jar
│   ├── spring-context-support-5.2.3.RELEASE.jar
│   ├── spring-core-5.2.3.RELEASE.jar
│   ├── spring-expression-5.2.3.RELEASE.jar
│   ├── spring-instrument-5.2.3.RELEASE.jar
│   ├── spring-jdbc-5.2.3.RELEASE.jar
│   ├── spring-jms-5.2.3.RELEASE.jar
│   ├── spring-messaging-5.2.3.RELEASE.jar
│   ├── spring-orm-5.2.3.RELEASE.jar
│   ├── spring-oxm-5.2.3.RELEASE.jar
│   ├── spring-test-5.2.3.RELEASE.jar
│   ├── spring-tx-5.2.3.RELEASE.jar
│   ├── spring-web-5.2.3.RELEASE.jar
│   └── spring-webmvc-5.2.3.RELEASE.jar
├── spring02-mvc.iml
├── src
└── web├── WEB-INF│   ├── applicationContext.xml│   ├── dispatcher-servlet.xml│   └── web.xml└── index.jsp
// 4.1 xml配置 web/WEB-INF/dispatcher-servlet.xml
//  JSP 根据配置存放jsp文件配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd">// <!--支持注解,例如@Controller,对应src下controller的包名--><context:component-scan base-package="com.ah" /><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">// <!-- 配置JSP页面的位置:比如controller中return "hi" 对应文件位置是 /web/template/hi.jsp --><property name="prefix"><value>/template/</value></property><property name="suffix"><value>.jsp</value></property></bean>
</beans>
// 4.2 xml配置 web/WEB-INF/web.xml 重要! 否则controller新的路由会出现404 
// 修改 url-pattern 标签 
// 修改前: <url-pattern>*.form</url-pattern>
// 修改后: <url-pattern>/</url-pattern>// 5. 新增controller 
// 新增包: src下 com.ah 
// 新增类: src/com.ah/HelloMVCController.java 
// 对应路由是: localhost:8080/hi 
package com.ah;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HelloMVCController {@RequestMapping(value = "/hi", method = RequestMethod.GET)public String hi(ModelMap model) {System.out.println("===test hi===");model.addAttribute("msg", "hello spring mvc!");return "hi";}
}// 6. 添加jsp 
spring02-mvc/web/index.jsp  // 工程默认创建的 
spring02-mvc/web/template/hi.jsp // 自定义,对应controller路由 hi // 7. idea部署服务器tomcat
- 准备本机tomcat安装目录: /Users/you/Library/tomcat/apache-tomcat-8.5.73
- idea -Run -Edit Configurations -》 点绿色的+号,选择 tomcat-->local -》出现弹窗 
弹窗配置server
- name: tomcat8 
- application server: 选择tomcat 的安装目录  /Users/you/Library/tomcat/apache-tomcat-8.5.73 
- URL: 改为 http://localhost:8080/  默认是 http://localhost:8080/spring02_mvc_war_exploded/
弹窗配置Deployment
- 点击 +- 选择: Artifact... 
- 选择完成后,中间区域出现 spring02-mvc:war exploded 
- Application context: / 默认是 /spring02_mvc_war_exploded// 8. 核对idea配置
idea -File -Project Structure 弹窗 
左侧每个入口检查下配置 
图解: https://img-blog.csdnimg.cn/img_convert/1536246cd64491338955df2ea13bb262.jpeg
需要重点看 Artifacts: 保证 WEB-INF/lib 存在spring mvc 的依赖包 
- 最后侧的2个spring依赖包上右键: put into /WEB-IN/lib 
- 操作完成后,中间区域打开 WEB-INF 目录确认lib添加进来// 9. 调试运行
- 方式1: Run-> Debug 'tomcat' 
- 方式2: 点击小虫虫// 10. 最终效果
// http://localhost:8080/
// http://localhost:8080/hi

xml配置 web/WEB-INF/dispatcher-servlet.xml
JSP 根据配置存放jsp文件配置 Snipaste_2023-12-27_11-39-47

idea部署服务器tomcat
Snipaste_2023-12-27_11-06-32

核对idea配置

调试运行
Snipaste_2023-12-26_16-39-43

最终效果
Snipaste_2023-12-27_11-23-41

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

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

相关文章

HAL——SPI

学习目标 掌握SPI配置方式掌握SPI读写操作 学习内容 需求 SPI配置 打开SPI1,选中全双工模式。观察下方自动生成的引脚&#xff0c;是否和自己开发板引脚对应。 修改引脚&#xff0c;来动右侧芯片引脚视图&#xff0c;找到开发板对应引脚&#xff0c;进行修改。 观察修改后的…

git秘钥过期 ERROR: Your SSH key has expired

文章目录 1、错误提示Your SSH key has expired2、登录Github确认3、重新设置秘钥 1、错误提示Your SSH key has expired 使用git命令时遇到Github 的 SSH Key秘钥过期&#xff0c;提示错误ERROR: Your SSH key has expired 2、登录Github确认 首先登录Github查看&#xff…

【STM32】STM32学习笔记-USART串口数据包(28)

00. 目录 文章目录 00. 目录01. 串口简介02. HEX数据包03. 文本数据包04. HEX数据包接收05. 文本数据包接收06. 预留07. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式&#xff0c;因为它简单便捷&#xff0c;因此大部分电子设备都支持…

网络安全B模块(笔记详解)- Web渗透测试

Web渗透测试 1.通过渗透机Kali1.0对服务器场景PYsystem20192进行Web渗透测试(使用工具w3af的对目标Web服务器进行审计),在w3af的命令行界面下,使用命令列出所有用于审计的插件,将该操作使用的命令作为Flag值提交; 进入kali命令控制台中使用命令w3af_console进入w3af命令…

深入了解pnpm:一种高效的包管理工具

✨专栏介绍 在当今数字化时代&#xff0c;Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序&#xff0c;就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术&#xff0c;以及各种框架、库和工具…

【C++期末】酒店住宿信息管理系统(含easyX)

诚接计算机专业编程作业(C语言、C、Python、Java、HTML、JavaScript、Vue等)&#xff0c;如有需要请私信我&#xff0c;或者加我的企鹅号&#xff1a;1404293476 本文资源&#xff1a;https://download.csdn.net/download/weixin_47040861/88725363 目录 1.题目要求 2.实现效…

杨中科 .NET Core 第一部分.NET Standard

1)不讲C#基础语法和NET基础类库(不需要学过ASPNET等)。需要懂HTML、JavaScript、数据库等。后续会录制基础视频 2)使用Visual Studio 2019 .NET .NET Framework Windows 程序 .NET Core 跨平台程序 .NET Standard 上述两者 遵从的标准 .NET5 开始上述统称为 .NET 新建.NET Sta…

pve多台物理机虚拟化 pve虚拟机优势

Proxmox VE是一个运行虚拟机和容器的平台。基于Debian Linux&#xff0c;完全开源。为了获得最大的灵活性&#xff0c;实现了两种虚拟化技术——基于内核的虚拟机(KVM)和基于容器的虚拟化(LXC)。一个主要的设计目标是使管理尽可能容易。运行在单个节点上使用Proxmox VE&#xf…

龍运当头--html做一个中国火龙祝大家龙年大吉

🐉效果展示 🐉HTML展示 <body> <!-- partial:index.partial.html --> <svg><defs><g id=

格密码基础:对偶格(超全面)

目录 一. 对偶格的格点 1.1 基本定义 1.2 对偶格的例子 1.3 对偶格的图形理解 二. 对偶格的格基 2.1 基本定义 2.2 对偶格的格基证明 三. 对偶格的行列式 3.1 满秩格 3.2 非满秩格 四. 重复对偶格 五. 对偶格的转移定理&#xff08;transference theorem&#xff…

现代 C++ 及 C++ 的演变

C 活跃在程序设计领域。该语言写入了许多新项目&#xff0c;而且据 TIOBE 排行榜数据显示&#xff0c;C 的受欢迎度和使用率位居第 4&#xff0c;仅次于 Python、Java 和 C。 尽管 C 在过去二十年里的 TIOBE 排名都位居前列&#xff08;2008 年 2 月排在第 5 名&#xff0c;到…

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-https://blog.csdn.net/alex_starsky/category_12467518.html 如何使用大模型查询助手功能&#xff1f;例如调用工具实现网络查询助手功能。目前只有 ChatGLM3-6B 模型支持工具调用&#xff0c;而 ChatGLM3-6B-Base 和 ChatGLM3-6B-32K 模型不支持。 定义好工具的…

【Gin实战教程】快速入门

Gin是一个轻量级的Web框架&#xff0c;使用Go语言开发。它具有高性能、易用性和灵活性的特点&#xff0c;是构建可扩展的Web应用程序的理想选择。 首先&#xff0c;Gin是一个高性能的框架。它基于Go语言的原生HTTP包进行开发&#xff0c;利用了Go语言的并发特性和协程模型&…

聊聊 Java 集合框架中的 ArrayList

其实 Java 集合框架也叫做容器&#xff0c;主要由两大接口派生而来&#xff0c;一个是 collection,主要存放对象的集合。另外一个是Map, 存储着键值对&#xff08;两个对象&#xff09;的映射表。 下面就来说说 List接口&#xff0c;List存储的元素是有序、可重复的。其下有三个…

JAVA实现文件上传至阿里云

注册阿里云账号后,开通好对象存储服务&#xff08;OSS&#xff09;&#xff0c;三个月试用 阿里云登录页 (aliyun.com) 目录 一.创建Bucket 二.获取AccessKey&#xff08;密钥&#xff09; 三.参考官方SDK文件&#xff0c;编写入门程序 1.复制阿里云OSS依赖&#xff0c;粘贴…

Swift单元测试Quick+Nimble

文章目录 使用QuickNimble1、苹果官方测试框架XCTest的优缺点2、选择QuickNimble的原因&#xff1a;3、QuickNimble使用介绍集成&#xff1a;Quick关键字说明&#xff1a;Nimble中的匹配函数等值判断&#xff1a;使用equal函数是否是同一个对象&#xff1a;使用beIdenticalTo函…

【Verilog】期末复习——分别画出下面两个程序综合后的电路图/reg型数据和wire型数据的区别

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…

基于ssm基于协同过滤技术的网上书城的开发与研究+jsp论文

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。本次开发一套基于协同过滤技术的网上书城有…

大数据毕业设计:图书推荐系统+可视化+Django框架 图书管理系统 (附源码+论文)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

外汇天眼:CQG 与 TradeStation Securities 的经纪服务集成

TradeStation Securities, Inc.&#xff0c;一家自营的在线股票、ETF、期权和期货交易经纪公司&#xff0c;宣布与CQG合作&#xff0c;CQG是一家为交易员、经纪商、商业套保者和交易所提供高性能技术解决方案的全球供应商&#xff0c;已与TradeStation Securities的经纪服务集成…