创建一个简单的初级SpringMVC项目(非注解版)

2023-11-05

新建一个maven项目(JavaWeb)
导入依赖

<!--导入依赖-->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

加入防止导出文件出错问题
加在pom.xml中

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.properties</exclude>
                    <exclude>**/*.xml</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

在web.xml(4.0版本以上)中写入如下内容

<?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">

    <!--配置DispatcherServlet:这个是SpringMVC的核心,请求分发器,前段控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--DispatcherServlet要绑定Spring的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!--这里的springmvc-servlet.xml 会在后面说到不用担心-->
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动级别:1  服务器已启动他就启动 数字越低驱动顺序越靠前-->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!--
    在SpringMVC中,/    /*
    /:只会匹配所有请求,不会去匹配jsp页面
    /* :匹配所有请求,包括jsp页面
    -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

在你的项目文件下 这个位置创建 (src\main\resources)springmvc-servlet.xml
内容如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--<mvc:annotation-driven/>-->
    <!--处理器映射器 :BeanNameUrlHandlerMapping-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!--处理器适配器 :SimpleControllerHandlerAdapter-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--视图解析器  :模板引擎  :InternalResourceViewResolver-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--BeanNameUrlHandlerMapping: bean-->
    <bean id="/hello" class="com.dong.controller.HelloController"/>

</beans>

最后一步创建一个类继承Controller

package com.dong.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {

        ModelAndView mv = new ModelAndView();

        //业务代码
        String result="HelloSpringMVC";

        mv.addObject("msg",result);

        //视图跳转
        mv.setViewName("test");


        return mv;
    }
}

创建测试的jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

之后将项目添加到Tomcat中进行测试即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建一个简单的初级SpringMVC项目(非注解版) 的相关文章

随机推荐

  • qt程序在debug模式下正常release下崩溃

    报错为 0x00007FFBFA386DD3 Qt5Core dll 处 位于 MainWindow exe 中 引发的异常 0xC0000005 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突 原因为 在一个函数下定义有返
  • 安卓编译的时候依赖包解析不了,老是下载不下来。Faled to resolve: com.squareup.retrofit2:converter-gson:2.3.0

    安卓编译的时候依赖包解析不了 老是下载不下来 E ldeaProjectsNdrcApp app build gradle Error QpenFle ShowinProiectStructuredala Faled to resolve
  • 【已解决】华为P10禁止系统更新EMUI9

    EMUI9 0耗电快 发热 占用内存大 所以我还是回退8 0 但是总是提示更新 还偷偷用wifi下载3个多G的安装包 尽管已经禁止wifi下载安装了 忍无可忍只能用ADB禁止 系统更新 以下是大致流程 PC端手机助手官方降级到EMUI8 0
  • 读《洞穴奇案》——旧文人的愚民术

    忙了快一周多 一直没有抽出时间继续阅读本书 今天终于草草的阅读完了一章 这章讲的是法律与民意之间的关系 更深入地讲 法律是否真正的表达了民意 而再发问 这个民意到底指的是谁的意图 这种意图是发自内心的还是屁股决定脑袋 如果我们以最善意观点去
  • 中国蚁剑安装教程——antsword及webshell一句话木马

    中国蚁剑是一款开源的跨平台网站管理工具 它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员 任何人不得将其用于非法用途以及盈利等目的 否则后果自行承担 一 首先下载加载器 下方是通过镜像github的地址 但是我依旧不能连接
  • 【区块链学习】

    区块链学习一 区块链概念 区块链结构 共识机制 智能合约 区块链应用于加密货币 区块链应用于实际场景 如何用最简单的方式解读区块链 通俗解释 区块链概念 区块链是一种分布式数据库 由许多区块组成 每个区块包含了一些交易信息和引用前一个区块的
  • C语言算法--桶排序

    1 什么是桶排序法 什么是桶排序法 其实说白了就是把需要排列的元素分到不同的桶中 然后我们对这些桶里的元素进行排序的一种方式 然后我们在根据桶的顺序进行元素的合并 不过前提是要确定桶的数量以及大小 按照稍微正式的说法是 桶排序法是一种基于计
  • JAVA提高ZXING对图片中的二维码的识别率(第二弹)

    背景 继上一次使用做二维码识别 公司需要高识别率的二维码识别 但ZXING实在是太弱了 对于那种二维码占比很小 图片对比度不高的 识别率低的令人咋舌 后来引入了opencv 加上恶补了一些图像处理的基础知识 总算有一个能看的过去的识别率了
  • 生产级实践之集群搭建方案系列-Redis主从、哨兵与多主集群模式的安装配置

    1 目标 介绍Redis的主从部署 哨兵部署与多主集群部署模式 实现Redis主从与哨兵集群部署 以及多主集群模式的搭建配置 2 脉络 介绍Redis的所有部署模式 特点与使用场景 完成Redis主从与哨兵集群部署 完成Redis多主集群模
  • docker搭建私有git服务器

    20210506 引言 使用git的时候 网的问题总是特别慢 反正本来也就是自己的东西 索性直接搭建一个私有的git服务器 搭建起来还是比较方便的 直接用docker搭建就好了 步骤 1 拉取镜像 docker pull gogs gogs
  • python零基础之if语句(单分支if、双分支if .else、多分支if..elif..elif..else、if语句的嵌套)、运算符优先级、比较运算符、赋值运算符、逻辑运算符、随机数random

    注意 1 在程序开发过程中 通常在判断条件时 会需要同时判断多个条件 只有多个条件都满足时 才会执行后续的代码 此时就会用到逻辑运算符 与或非了 即 and or not 2 pass 占位符 例如 当if语句内容为空的时候 如果没有代码程
  • 关于到美国学习cs的亲身感受,希望对你们有所帮助

    1 能否向各位寄托天下的朋友们简单介绍一下你自己 比如你国内的学校 或者什么档次 哪年申请出国的 什么专业 硕士还是博士 在美国的学校 或者什么档次 以及留学经历 毕业时间 现在状态 学生 博后 工作 回国 总体经历 国内在上海一所211学
  • 论文阅读:Interventional Few-Shot Learning

    作者发现两个规律 1 每一个feature dimension都携带有一定量的semantic meaning 也就是说每个feature dimension代表了一定的信息量 2 大部分的预训练模型都是以分类为训练目标 这些分类器都可以看
  • c++.net 托管字符串 非托管指针 互相转换

    System String md5String md5String admin IntPtr sptr System Runtime InteropServices Marshal StringToHGlobalAnsi md5String
  • 14款国内外精品PPT模板网站对比介绍

    简介 在平日的学习和工作中 我们经常需要制作幻灯片 通过PPT模板和素材库可以帮助我们快速设计出符合心意的幻灯片 本文对14个国内外高质量PPT模板网站进行简单的对比分析 希望对您有所帮助 国内PPT模板网站 1 SlideLive 网站地
  • 宝塔面板+花生壳实现内网部署的项目能够被在外网被访问

    05 宝塔面板 花生壳实现内网部署的项目能够被在外网被访问 1 安装操作系统 linux 2 安装宝塔面板 3 安装花生壳 4 使用宝塔面板部署项目 1 安装操作系统 linux 购买云服务器 自己安装需要的操作系统 2 安装宝塔面板 yu
  • 结构体详细了解

    用已经有的数据类型 来组合成我们需要的 复杂的数据类型 结构体定义 结构体的引入是为了描述包含有不同类型数据组合而成的数据 单独定义变量也是可以的 但变量彼此之间没有形式上的关联 容易出错 不成整体 没有封装 结构体把多个数据项打成一个包
  • 第二十八讲:神州路由器地址转换的配置

    实验拓扑图如下所示 设置内网地址段为192 168 0 0 S0 1为外网出口 通过nat访问192 168 2 0网段 操作步骤 步骤1 连接网络拓扑结构图 步骤2 配置计算机的IP地址 子网掩码和网关 步骤3 设置Router B的接口
  • app版本控制的几种方式

    是否需要做版本控制 出入参保持不变 迭代对app无感知 不需要版本控制 如果对比之前新增或者减少了参数 但是可以通过给默认值或者兼容零值的方式兼容老逻辑 不需要版本控制 其他情况需要进行版本控制 版本控制的几个方案 灰度部署 通过nginx
  • 创建一个简单的初级SpringMVC项目(非注解版)

    新建一个maven项目 JavaWeb 导入依赖