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

提前准备安装tomcat

设备:mac

第一步:下载

进入官网下载压缩包

注意:如果jdk版本是1.8,则tomcat需要v8才行,否则会报错

https://tomcat.apache.org/

第二步:解压

解压后路径

/Users/you/Library/tomcat/apache-tomcat-8.5.73

进入此目录 修改配置 code setclasspath.sh

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

添加环境变量

第三步: 启动服务

cd /Users/you/Library/tomcat/apache-tomcat-8.5.73/bin

sh startup.sh

查看效果 http://localhost:8080/

打开页面看到那只猫表示启动成功

停止服务 方式

sh shutdown.sh

demo: spring mvc

目标

  • 创建工程,mvc架构
  • 自定义controller和view(jsp)
java 复制代码
// 提前准备安装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/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://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文件配置

idea部署服务器tomcat

核对idea配置

调试运行

最终效果

相关推荐
hqxstudying23 分钟前
java依赖注入方法
java·spring·log4j·ioc·依赖
·云扬·31 分钟前
【Java源码阅读系列37】深度解读Java BufferedReader 源码
java·开发语言
春生野草1 小时前
关于SpringMVC的整理
spring
Bug退退退1232 小时前
RabbitMQ 高级特性之重试机制
java·分布式·spring·rabbitmq
小皮侠2 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
Zz_waiting.2 小时前
Javaweb - 10.4 ServletConfig 和 ServletContext
java·开发语言·前端·servlet·servletconfig·servletcontext·域对象
全栈凯哥2 小时前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
兮动人2 小时前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
呆呆的小鳄鱼2 小时前
cin,cin.get()等异同点[面试题系列]
java·算法·面试
独立开阀者_FwtCoder2 小时前
"页面白屏了?别慌!前端工程师必备的排查技巧和面试攻略"
java·前端·javascript