当前位置: 首页 > news >正文

怎么在手机上建网站栏目手机版 企业网站

怎么在手机上建网站,栏目手机版 企业网站,网站建设分析,网站怎么做排名优化目录 1. 概念 2.SpringMVC工作原理 3. springMVC的简单使用 1.在pom.xml中导入相关依赖 2.在web.xml中配置dispatcherServlet 3.创建springMVC.xml核心配置文件 4. SPringMVC分层后各个模块的作用 1. 概念 什么是MVC? MVC是下面三个组件的简写,模型…

目录

1. 概念

2.SpringMVC工作原理

3. springMVC的简单使用

1.在pom.xml中导入相关依赖

 2.在web.xml中配置dispatcherServlet

3.创建springMVC.xml核心配置文件

4. SPringMVC分层后各个模块的作用


1. 概念

什么是MVC?

MVC是下面三个组件的简写,模型(Model)、视图(View)和控制器(Controller)。

  • 模型(Model): 表示应用程序中的数据和业务逻辑。在Spring MVC中,通常使用POJO作为模型对象。通常模型对象负责在数据库中存取数据。
  • 视图(View): 负责展示用户界面,通常是HTML页面、JSON响应或其他类型的视觉呈现。视图负责将模型数据渲染,并向用户呈现。
  • 控制器(Controller): 接收并处理HTTP请求,并根据请求的内容选择相应的处理方法。控制器负责调度适当的业务逻辑,操作模型数据,并通过相应的视图返回响应结果。

注:MVC是一种思想,而Spring MVC是在MVC模式的基础上实现的一种Web框架,即SpringMVC是一种具体实现。它利用了MVC的优势并添加了更多的功能和便利性,使得开发者可以更轻松地构建和维护现代化的Web应用程序。

2.SpringMVC工作原理

(1)整体过程:

Spring 中的父子容器问题

  • 因为 Spring MVC 属于 Spring 的子框架,所以 Spring MVC 中可以使用 Spring 框架的全部内 容。 Spring 官方为 Spring MVC 专门定义了一个容器,这个容器里面放 Spring MVC 中全部 Bean,且这个容器属于 Spring 容器的子容器。
  • 有这样的一个规定:Spring MVC 子容器可以调用 Spring 父容器的全部内容。但是 Spring 父 容器不能调用 Spring MVC 子容器内容。 

(2)加载过程 

如上图2所示,执行步骤如下:

  1. 用户通过浏览器或其他客户端向服务器发送 HTTP 请求。
  2. 当请求到达服务器时,容器(如 Tomcat)将请求传递给 前端控制器 ( DispatcherServlet ),DispatcherServlet 是 Spring MVC 的核心组件,它负责接收 HTTP 请求,并且作为请求处理的入口点。然后读取配置文件来初始化 WebApplicationContext,它又是 Spring 应用上下文的一个子接口,它包含所有 Bean 的定义和配置信息。
  3. 前端控制器 ( DispatcherServlet ) 收到请求调用处理器映射器 (HandlerMapping),通过 URL 或其他规则来决定应该调用哪个控制器。而处理器映射器(HandlerMapping)找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。
  4. 前端控制器(DispatcherServlet) 查找能够处理选定控制器的 HandlerAdapterHandlerAdapter 负责调用控制器中的具体方法。

  5. 处理器适配器(HandlerAdapter)去调用自定义的处理器类(Controller)

  6. 自定义的处理器类(Controller)将得到的参数进行处理并返回结果给处理器适配器(HandlerAdapter)。

  7. 处理器适配器 ( HandlerAdapter )将得到的结果返回给前端控制器 (DispatcherServlet)。

  8. 前端控制器(DispatcherServlet )将 ModelAndView 传给视图解析器 (ViewReslover)

  9. 视图解析器(ViewReslover)将得到的参数从逻辑视图转换为物理视图并返回给前端控制器(DispatcherServlet)。

  10. 前端控制器(DispatcherServlet)调用物理视图进行渲染并返回。

  11. 前端控制器(DispatcherServlet)将渲染后的结果返回。

3. springMVC的简单使用

开发流程

  • maven创建web工程(略)
  • 引入依赖Spring+SpringMVC+JSTL+Servlet基础包
  • 在web.xml中配置dispatcherServlet
  • 创建SpringMVC核心配置文件
  • 开发controller
  • 创建测试index.jsp页面

1.在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>org.example</groupId><artifactId>02-SpringMVC</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!--配置依赖--><dependencies><!--配置Spring相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.3.26</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.26</version></dependency><!--配置Mybatis相关依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.16</version></dependency><!--配置MyBatis和Spring的整合依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency><!--配置jdbc--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependency><!-- 工具类 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><!--表示该jar只在代码的编程和编译阶段有效,在部署的时候自动剔除!--><scope>provided</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version></dependency><!--配置web相关依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- https://mvnrepository.com/artifact/taglibs/standard --><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><!-- springmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.26</version></dependency></dependencies>
</project>

 2.在web.xml中配置dispatcherServlet

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><!--配置Spring相关:如果没有service和mapper层代码可以先不配置--><!--配置DispatcherServlet相关--><!--配置编码过滤器--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param>
<!--配置后Tomcat启动的时候会自动的创建该Servlet对象,如果没有配置,Servlet是在第一次访问的时候创建--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc</servlet-name><url-pattern>/</url-pattern><!--斜杠表示拦截除Jsp以外的所有请求,/*表示拦截所有请求--></servlet-mapping>
</web-app>

3.创建springMVC.xml核心配置文件

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--配置注解扫描:扫描bean对象--><context:component-scan base-package="com.wollo.controller"></context:component-scan><!--配置注解解析器:初始化一些其他的相关bean--><mvc:annotation-driven></mvc:annotation-driven><!--配置视图解析器--><bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/myPage/"></property><property name="suffix" value=".jsp"></property></bean><!--配置静态资源放行--><mvc:resources mapping="/static/**" location="/static/"></mvc:resources>
</beans>

4.开发controller层代码

package com.wollo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class MyController4 {@RequestMapping("/add")public String add(){System.out.println("我只是一个普通的单元方法");return "add";}}

5.jsp页面代码如下

<%--Created by IntelliJ IDEA.User: 22529Date: 2024/8/6Time: 11:06To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>我是add页面
</body>
</html>

6.最后启动tomcat,在地址栏中输入http://8080/add可以看到页面如下

4. SPringMVC分层后各个模块的作用

  •  servlet: DispactherServlet, 公共Servlet

          a. 封装了Spring的容器的创建和相关Bean初始化的代码
          b. 动态获取相关请求数据的代码
          c. 动态调用controller代码
          c. 动态响应处理结果的代码
          d. 其他功能

  •   controller:前后端交互的代码(自己写)
  •   service:业务处理相关代码(处理数据)
  •   mapper:项目和数据库交互层代码
  •   domain: 实体类,一个二维表一个实体类,该类的对象用来存储数据!

http://www.yayakq.cn/news/780860/

相关文章:

  • 中山市技术支持 中山网站建设百度官网网站登录
  • 做网站能收多少广告费某景区网站建设策划书
  • 柳州十一冶建设集团网站软件开发外包app
  • 广州网站建设 企业濉溪建设投资网站
  • pc端网站自适应代码wordpress 功能开发
  • 山西智能网站建设制作网站用表格做的吗
  • 做企业网站可以没有后台吗企业vi系统包括哪些内容
  • 如何在自己做的网站中顶置内容上海制作网页哪家好
  • 企业宣传网站建设模板大连市城市建设管理局网站
  • 网站建设中 敬请期待...有没有小学生做兼职的网站
  • 重庆网站seo诸天连锁商城系统
  • 西安网站建设app建设石家庄关键词优化平台
  • 企业信息门户网站建设方案上海招聘网站排名
  • 企业国际网站建设php购物网站开发摘要
  • 任经理++徐州网站建设河南洛阳网络公司
  • 360免费建手机网站贵阳58同城做网站公司
  • 福州网站建设教程视频网站开发网页跳转到新的页面
  • 排名做网站优化移动端网站的优势
  • 网站做pc企业文化墙
  • h5网站制作案例分析北京网站建设厂家
  • 商务网站建设的应用国内做网站的顶尖公司
  • 有创意营销型网站建设中小企业经营管理培训班
  • 做网站需要学的语言和软件临沂市建设局官方网站
  • 为餐饮企业做网站推广永久域名申请
  • 商城网站建设net2006asp.net 网站 价格
  • 电子商务类网站模板网站后台作用
  • 盐城网站建设费用推广普通话手抄报图片
  • dedecms 网站安装海南工程建设资料备案网站
  • 网站设计 psdwordpress 淘客代码
  • 网站文章列表如何排版易企秀微网站如何做文字链接