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.hqwc.cn/news/327655.html

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

相关文章

SpringBoot学习(七)-SpringBoot集成Swagger

集成Swagger终极版 学习目标&#xff1a; 了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档 Swagger简介 前后端分离 前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合 产生的问题 前…

即时设计:设计流程图,让您的设计稿更具条理和逻辑

流程图小助手 在设计工作中&#xff0c;流程图是一种重要的工具&#xff0c;它可以帮助设计师清晰地展示设计思路和流程&#xff0c;提升设计的条理性和逻辑性。今天&#xff0c;我们要向您推荐一款强大的设计工具&#xff0c;它可以帮助您轻松为设计稿设计流程图&#xff0c;让…

蓝桥杯基础知识2 全排列 next_permutation(), prev_permutation()

蓝桥杯基础知识2 全排列 next_permutation()&#xff0c; prev_permutation() #include<bits/stdc.h> using namespace std;int a[10];int main(){for(int i 1; i < 4; i)a[i] i; //4*3*2*1 24bool tag true;while(tag){for(int i1; i < 4; i)cout << a[…

创建专业电子邮件签名:提升个人与品牌形象的实用指南

电子邮件签名乃是品牌建设中常被忽略的一环。试想一下&#xff0c;若名片只是普通的、手工切割的复印纸&#xff0c;上面用黑体打印着你的联系方式&#xff0c;那将是多么平凡无奇。这将显得廉价、乏味且不专业——这正是人们不愿如此的原因。相反&#xff0c;他们渴望让自己的…

FineBI实战(2):案例架构说明及数据准备

1 系统架构 基于MySQL搭建数据仓库基于Kettle进行数据处理帆软FineBI基于MySQL搭建的数据仓库进行数据分析 2 数据流程图 通过Kettle将MySQL业务系统数据库中&#xff0c;将数据抽取出来&#xff0c;然后装载到MySQL数据仓库中。编写SQL脚本&#xff0c;对MySQL数据仓库中的数…

自动化文件处理软件FileFlows

什么是 FileFlows &#xff1f; FileFlows 是一款文件处理软件&#xff0c;可以转码、转换、压缩和管理任何文件类型&#xff0c;包括视频、音频、图像和漫画书。它支持多个平台、硬件编码器以及强大的流程和报告功能。 FileFlows 通过监视“库”&#xff08;文件夹/路径&#…

商家如何通过会员充值消费管理系统提升业务运营与用户体验

在当今数字化商业环境中&#xff0c;会员充值消费管理系统已经成为各类商家提高客户粘性、优化服务流程、增强市场竞争力的重要工具。那么如何通过会员充值消费管理系统提升业务运营与用户体验&#xff0c;商家是否有所了解呢&#xff1f;下面就带大家简单了解。 首先&#xf…

完美版视频网站模板 – 苹果CMS v10大橙子vfed主题

源码下载&#xff1a; https://download.csdn.net/download/m0_66047725/88700504 这次提供的大橙子 vfed 模板 已经完美&#xff0c;只去除了授权验证和正版主题神秘后门&#xff0c;不影响任何功能体验性。主题优化&#xff1a;全站响应式自带主题设置面板自带联盟资源库大全…

jquery图形验证码

效果展示 js图形随机验证码&#xff08;表单验证&#xff09; html代码片段 <form class"formwrap"><div class"item"><input type"text" id"code_input" value"" placeholder"请输入验证码"/>…

使用 go-elasticsearch v8 基本请求

使用 go-elasticsearch 请求示例 你可以通过参考Go 官方文档找到简单的示例&#xff0c;所以我认为先看看这个是个好主意。 连接客户端有两种方式&#xff0c;如下图。 至于两者的特点&#xff0c;TypedClient有类型&#xff0c;更容易编写&#xff0c;但文档较少。另外&…

关于谷歌Gemini大模型

2023年12月7日&#xff0c;谷歌AI宣布发布新一代基于Transformer架构的大模型Gemini。 Gemini的名字来源于双子座&#xff0c;象征着模型的双重性质&#xff1a; 一方面&#xff0c;它是一个强大的训练模型&#xff0c;可以在各种下游任务上进行微调&#xff0c;如文本摘要、机…

【面试】面向对象编程的三大概念(实例辅助记忆)

【面试】面向对象编程的三大概念&#xff08;实例辅助记忆&#xff09; 虑面向对象编程的三大特性&#xff0c;它们是&#xff1a; 封装&#xff08;Encapsulation&#xff09;&#xff1a; 将对象的状态和行为封装在一起&#xff0c;对外部隐藏对象的内部实现细节。这样可以防…