SpringMVC入门案例,详细说明文件目录结构,导包方式及项目创建

本文详细介绍SpringMVC项目从创建到部署的全过程,包括目录结构、文件配置、控制器类编写及视图呈现,适用于初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC支持使用注解方式配置,比配置文件方式更加的灵活易用,是SpringMVC使用的主流模式。

传统的servlet是单例,如果业务复杂,存在很多的servlet,就会创建很多对象,造成内存浪费等一系列问题,SpringMVC就很好的解决了这些问题。

1.项目创建文件目录结构及导包 

A.创建项目

新建立的项目在WEB-INF目录下没有lib包和classes包的话,手动创建一下。

WEB-INF 文件夹下的文件是被保护的,不能被外部访问,所以编译好的class文件,jar包web.xml放到这里比较安全(web.xml这种配置文件很重要肯定不能暴露出去,让用户访问到)。

B.在WEB-INF目录下创建lib包、classes包

C.导入相关的jar包

注意:此时导入的jar包不能采用之前javase项目添加jar包的方式Add as Library,因为这是web项目,到时编译发布的都是WEB-INF下的,将jar包添加到项目中是没有用的,到时发布到tomcat中会导致不能正常运行

D.配置classes和lib目录

在右上角1位置点击按钮进入到Project Structure

然后选择位置2的Paths

然后选择位置3的Use module compile output path

在位置4选择刚刚创建的classes文件目录,用来保存编译好的class文件

最后在5位置先选择apply,此时不要点击OK

选择Dependencies,然后点击”+”,在弹出框中选择到刚刚创建的lib包然后OK

此时可以看到lib包已经添加成功,点击Apply---OK 完成jar包的导入

此时可以看到之前创建的classes文件夹已经变为了橙色,lib文件夹中的jar包已经可以展开,说明WEB项目创建成功

web项目的结构层级关系

|--静态web资源,html,css,js,图片,音频。视频,动画等

|--WEB-INF

             |--classes  //动态web资源class文件

             |--lib  //动态web资源依赖的jar包

             |--web.xml  //web应用的核心配置文件

             |--xxxxx   //其他不希望外界直接访问的文件

2.创建SpringMVC项目

方式一:

A.在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">
    <!--前端控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <!--/* 范围太大:*.do ,*.action 都行,可以自己自由命名-->
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>

B.创建SpringMVC核心配置文件

因为SpringMVC默认会自动在web应用的WEB-INF目录下去寻找[前端控制器ServletName]-servlet.xml作为当前SpringMVC的核心配置文件,所以就在WEB-INF目录下创建文件。

关于文件名:

上面web.xml中配置的前端控制器的<servlet-name>是springmvc,所以按照要求正确的文件名应该是(springmvc-servlet.xml

创建springmvc-servlet.xml这个文件,这个文件本身其实就是Spring的配置文件,所以导入Spring相关的约束信息,包括 beans、context、mvc

创建如下:

目录结构如下 

在springmvc-servlet.xml中配置,配置注解方式MVC开关时主要选择后缀为mvc的

springmvc-servlet.xml中具体配置如下:

视图解析器中prefix为前缀,suffix为后缀

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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 http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--配置包扫描-->
    <context:component-scan base-package="cn.wyy.web"/>
    <!--配置注解方式MVC开关-->
    <mvc:annotation-driven/>
    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

C. 在src目录下创建控制器类MyController,并返回视图test01

 D.根据前缀中配置的路径及控制器中返回的视图名称,创建如下目录及文件

在test01.jsp中通过EL表达式获取Controller中设置的值

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    控制器中设置的值为:<br/>
    ${k1}<br/>
    ${k2}<br/>

</body>
</html>

E. 部署运行程序

根据@RequestMapping中的配置可知,访问的地址为

http://localhost/springmvctest01_war_exploded/web01/test01.action

访问验证成功

方式二 

对于上面的步骤B,

SpringMVC默认会自动在web应用的WEB-INF目录下去寻找[前端控制器ServletName]-servlet.xml作为当前SpringMVC的核心配置文件,也可以在servlet的配置中自己指定核心配置文件位置,这样就可以改变这个核心配置文件的路径及名称了

具体的操作:在web.xml中的servlet标签中加入<init-param>标签实现,一般习惯于将该配置文件放置在src根目录下

修改后的web.xml内容如下,可以自由命名:如:springmvc-my.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">
    <!--前端控制器-->
    <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-my.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <!--/* 范围太大:*.do ,*.action 都行,可以自己自由命名-->
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>

修改后的目录结构如下:

其他与方式一保持一致,部署项目,测试如下,访问成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值