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

哪个网站可以发宝贝链接做宣传域名流量查询工具

哪个网站可以发宝贝链接做宣传,域名流量查询工具,毕设如何做网站,网页设计和网页美工介绍了Spring MVC框架的概念、特征及核心功能,通过案例详细介绍了Spring MVC开发所需要的开发环境以及基本的开发步骤。 一、Spring MVC框架概述 Spring MVC是Spring框架的一个模块,是一个基于Java的实现了MVC设计模式的轻量级Web框架。它通过一套注解和…

        介绍了Spring MVC框架的概念、特征及核心功能,通过案例详细介绍了Spring MVC开发所需要的开发环境以及基本的开发步骤。

一、Spring MVC框架概述

        Spring MVC是Spring框架的一个模块,是一个基于Java的实现了MVC设计模式的轻量级Web框架。它通过一套注解和接口,让简单的Java类成为处理请求的控制器,无需实现任何接口,同时支持REST风格的编程。

1. Spring MVC主要特征

  1. 清晰的职责分离:将控制器、模型对象、分派器以及处理程序对象的角色分开

  2. 灵活配置:支持基于XML和注解的配置方式

  3. 可重用的业务代码:可以使用现有的业务对象作为命令或表单对象

  4. 可定制的绑定和验证:支持类型转换和验证

  5. 强大的视图技术:支持JSP、Velocity、FreeMarker等多种视图技术

  6. REST支持:原生支持REST风格的URL

  7. 国际化支持:内置国际化支持

  8. 主题支持:支持主题和外观的更改

2. MVC 与 Spring MVC

        MVC 是一种广泛适用的设计模式,而 Spring MVC 是该模式在 Java Web 开发中的一种优秀实现。Spring MVC 通过提供丰富的功能和简化的开发方式,使开发者能更高效地构建 Web 应用程序,同时保持了 MVC 模式的核心优势。理解二者的关系有助于在不同场景下做出更合适的技术选择。

2.1 MVC 设计模式

1. 基本概念

MVC(Model-View-Controller)是一种软件架构设计模式,将应用程序分为三个核心组件:

  • Model(模型):处理数据和业务逻辑

  • View(视图):负责数据展示

  • Controller(控制器):处理用户输入,协调模型和视图

2. 典型工作流程

用户请求 → 控制器 → 调用模型 → 返回数据 → 控制器选择视图 → 视图渲染 → 响应给用户

2.2 Spring MVC 框架

1. 基本概念

Spring MVC 是基于 Java 的实现 MVC 设计模式的请求驱动型 Web 框架,属于 Spring Framework 的一部分。

2. 核心组件
组件说明
DispatcherServlet前端控制器,接收所有请求
HandlerMapping请求到处理器的映射
Controller实际处理请求的组件
ModelAndView封装模型和视图信息
ViewResolver视图解析器
3. 请求处理流程

1. 用户发送请求 → DispatcherServlet

2. DispatcherServlet 查询 HandlerMapping → 找到对应 Controller

3. Controller 调用业务逻辑 → 返回 ModelAndView

4. DispatcherServlet 查询 ViewResolver → 解析视图

5. 视图渲染 → 返回响应

3. Spring MVC 工作流程

3.1 Spring MVC 的请求执行顺序

(1)用户向服务端发送一次请求,在满足 web.xml 文件中前端控制器的匹配规则的前提下,这个请求在 Tomcat 的解析下,会先到前端控制器 DispatcherServlet(也叫中央控制器)。如我们发出*.action 的请求,则只对以“.action”结尾的请求路径进行处理。某些访问 JSP 的页面请求则不会被框架拦截处理。

(2)DispatcherServlet 作为框架的核心,通过处理器映射器(框架提供 SimpleUrlHandlerMapping 类,也可能是其他的映射器类),从映射文件中根据请求路径找到对应的处理器类,并得到该类的实例对象。

(3)DispatcherServlet 通过处理器适配器(框架提供的一个类),对处理类的实例对象进行适配器处理以及参数绑定,并将请求转移到处理类中进行业务处理。

(4)处理类通过实现框架提供的 Controller 接口,最终完成适配功能。并在这里完成具体的业务逻辑功能,将数据和视图信息封装到 ModelAndView 对象中,并返回给 DispatcherServlet 处理。

(5)DispatcherServlet 获取从处理器返回的 ModelAndView 对象后,交给视图解析器(框架中提供的功能类)解析,并显示在相应的视图中。

3.2 Spring MVC 框架的核心接口

(1)前端控制器(DispatcherServlet):它也称为中央控制器,是整个请求响应的控制中心。组件的调用都由它统一调度。配置在 web.xml 文件中,随服务器启动而实例化。

(2)简单处理器映射器(SimpleUrlHandlerMapping):根据用户访问的 URL 映射到对应的后端处理器 Handler,并将该处理器的实例返回给前端控制器。

(3)处理器适配器(HandlerAdapter):常用的有 SimpleControllerHandlerAdapter,该功能组件在框架中默认运行。它用于封装参数数据,绑定视图等。

(4)视图解析器(ViewResolver):常用的有 InternalResourceViewResolver,在框架中该功能组件默认运行。它用于将 ModelAndView 逻辑视图解析为具体的视图(如 JSP)。

(5)后端处理器(Handler):即由程序员编写的处理类,对用户具体请求进行处理,该类必须实现框架提供的 Controller 接口,才能作为处理器完成组件功能。

(6)处理器中使用的类(ModelAndView):用于封装数据和视图信息,并返回给前端控制器。该类实现了对原生 Servlet 中 Request 对象的封装,因此可以作为域对象封装数据,并在视图中用 EL 表达式取出数据。

二、案例——Spring MVC框架实现模拟登录

案例说明:使用Spring MVC框架进行用户登录验证

1.新建web项目并引入依赖 

在Idea中配置Tomcat并运行第一个servlet程序——初试Jakarta EE项目 https://blog.csdn.net/m0_74808313/article/details/142817862?sharetype=blog&shareId=142817862&sharerefer=APP&sharesource=m0_74808313&sharefrom=link

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.3</version></dependency><!--    spring基本依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>3.0.0</version><type>maven-plugin</type></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.22.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.22.0</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependency><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>3.0.1</version><type>maven-plugin</type></dependency>

2. 配置Spring MVc的前端控制器

        Spring MVC 框架通过前端控制器对符合匹配规则的客户端请求进行统一的拦截处理。这些匹配规则放置在 Spring MVC 的配置文件中,框架通过默认的路径去加载这些文件。

配置文件路径:在 Webapp/WEB-INF/web.xml 中进行配置。

配置内容:由于 Spring MVC 框架的前端控制器是一个 Servlet,该 Servlet 在前面的支持 JAR 包中存在。其配置方式与 Servlet 的配置一致,具体代码如下。

<?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><url-pattern>*.action</url-pattern><!--   截所有请求并交由DispatcherServlet处理     -->
<!--        <url-pattern>/</url-pattern>--></servlet-mapping>
</web-app>

3. 配置 Spring MVC 的核心映射文件 springmvc-servlet.xml

文件路径:在 Webapp/WEB-INF 目录下新建 springmvc-servlet.xml。文件名来源于 web.xml 配置的前端控制器的名称与后缀 -servlet,前端控制器在加载过程中会自动在该路径下寻找该映射文件。因此该文件的路径和文件名不能随意更改。如要更改,则需在 web.xml 中配置前端控制器时,修改其默认的映射文件路径和文件名,这里暂时不做讲解。

配置内容如下
(1)xml 文件中的约束
(2)配置访问路径与后台处理器之间的映射。该配置需要框架提供的映射类 SimpleUrlHandlerMapping 来完成请求路径的跳转。

<?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:tx="http://www.springframework.org/schema/tx"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/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="org.rainpet"></context:component-scan><context:property-placeholder location="classpath:db.properties"/><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="${db.driver}"/><property name="url" value="${db.url}"/><property name="username" value="${db.username}"/><property name="password" value="${db.password}"/></bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><tx:annotation-driven transaction-manager="transactionManager"/><mvc:annotation-driven/><import resource="classpath:mybatisConfig.xml"/><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="classpath:mybatisConfig.xml"/><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:mapper/*.xml"/><property name="configuration"><bean class="org.apache.ibatis.session.Configuration"><property name="mapUnderscoreToCamelCase" value="true"/></bean></property></bean><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 扫描所有dao接口 --><property name="basePackage" value="org.rainpet.mapper"></property><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean><!-- 配置访问路径与后台处理器之间的映射   --><bean id="loginController" class="org.rainpet.LoginController"></bean><bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="/login.action">loginController</prop><!--  配置了一个SimpleUrlHandlerMapping,将URL路径/login映射到loginController,用于处理登录请求    -->
<!--                <prop key="/login">loginController</prop>--></props></property></bean>
</beans>

4. 新建登录页面login.jsp和登录成功后的页面success,jsp

文件路径:在 Webapp/ 目录下新建 login.jsp、success,jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body><form action="/springMvc01/login.action" method="post">用户名:<input type="text" name="userName"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录成功</title>
</head>
<body><h1>登录成功</h1>${userName}
</body>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>error</title>
</head>
<body><h1>error</h1>${info}
</body>

5. 新建登录处理器LoginController.java

package org.rainpet;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 LoginController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {String userName = request.getParameter("userName");String password = request.getParameter("password");ModelAndView mav=new ModelAndView();if(password!=null&&password.equals("123456")){mav.addObject("userName","欢迎您:"+userName);mav.setViewName("success.jsp");}else {mav.addObject("info","用户名或密码错误");mav.setViewName("error.jsp");}return mav;}
}

7. 启动TomCat

浏览器地址栏输入http://localhost:8080/springMvc01/login.jsp,到登录界面,实现登录

http://www.dtcms.com/wzjs/37440.html

相关文章:

  • 专业网站建设市场太原网站关键词排名
  • 网站建设同行抄袭百度站内搜索
  • 网站建设的大公司有哪些企业培训考试系统
  • 域名为www.com的网站优化软件
  • 免费网站建设软件站长之家seo工具
  • 网站如何宣传汕头seo代理
  • 自己做的网站打不开了2022千锋教育培训收费一览表
  • 福永附近做网站公司东莞seo靠谱
  • 网站建设合同属于购销吗网站推广平台
  • 制作简历的免费网站网络推广技巧
  • 郑州专业的网站建设nba最新交易信息
  • 南阳做网站多少电话seo网站运营
  • liunx做网站跳转服务器海口关键词优化报价
  • 长春网站开发招聘广告网站留电话
  • 企业网站建设必要性如何网站关键词优化
  • 做网站前台要学什么课程广告资源发布平台
  • 网站开发的意义和目的百度的特点和优势
  • 如何用电脑主机做网站网站seo工具
  • 糗事百科网站 源码互联网营销顾问
  • 电子商务网站建设的步骤一般为网站推广策划思路的内容
  • 杂志网站建设方案百度一下首页设为主页
  • 新零售模式具体怎么做啊商丘搜索引擎优化
  • 如何申请一个网站百度网址大全设为主页
  • 移动网站设计淘宝seo是什么意思
  • 快速知彼网络网站建设加拿大搜索引擎
  • 17做网站广州起做网店网络seo软件
  • 网站根目录是哪个文件夹东莞百度快速排名优化
  • 网站建设需要什么知识广州百度推广客服电话
  • 建立网站需要什么条件百度关键词价格排行榜
  • wordpress站点语言企业网站的在线推广方法有