SSM

三层架构和MVC(以及基本项目结构)

2019-04-17  本文已影响0人  强某某

三层架构

image.png

MVC

MVC,即 Model 模型、View 视图,及 Controller 控制器。

MVC 架构程序的工作流程

image.png

三层架构 + MVC 示意图

image.png

基本项目结构

TIM截图20190417180905.png

从上面的结构可以发现,dao单独一个包,service单独一个包,然后视图层则变化为web;
内部有控制器(servlet),过滤器,甚至工具类(此工具类指的是视图层专用工具类)等;
所以:得出结论,只要项目包含三层即可,不代表一定要按照这三层严格分包,例如entity按照三层分类归属于view,但是按照mvc分类属于view层。jsp也单独分开了。

# 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="3.1">
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.zq.hello.maven.web.controller.IndexServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/servlet/hello</url-pattern>
    </servlet-mapping>

</web-app>

依赖的添加

新建的项目,直接写servlet,肯定是没有依赖的,如果使用maven形式管理项目,则可以通过添加依赖解决

maven仓库

image.png
web.xml中web-app中version是3.1则可以使用maven对应的servlet3.1的依赖 image.png
image.png
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

然后点击同步按钮即可添加依赖


image.png
#pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zq</groupId>
    <artifactId>hello-maven</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
上一篇 下一篇

猜你喜欢

热点阅读