Spring MVC 基本概念
1.1 MVC形式
MVC是Model、View和Controller的缩写,别离代表Web运用程序中的3种责任。
- 模型:用于存储数据以及处理用户央求的事务逻辑。
- 视图:向操控器提交数据,闪现模型中的数据。
- 操控器:根据视图提出的央求判别将央求和数springboot面试题据交给哪个模型处理,将处理后的有关结果交给哪个视图更新闪现。
1.2Java Spring MVC
SpringMVC结构主要由DispatcherServlet、处理器映射、操控器、视图解析器、视图Java组成,SpringMVC的作业流程如下:
- 客户端央求提交到Dispjava怎么读atche前端开发rServlet;
- 由DispatcherSspringboot面试题ervlet操控器寻觅一个或多个Handhttps安全问题lerMapping,找前端结构处处前端训练组织理央求的Controhttp 302ller;
- DispatcherServlet将央求提交到Controller;
- Controller调用事务逻辑处理后回来ModelAndView;
- DispatcherServlethttp协议寻觅一个或多个ViewResolver视图解析器,找到ModelAndView指httpwatch定的视图http署理;
- 视图担任将结果闪现到客户端。
1.3 Spring MVC接口
MVC接口:DispatcherServlespringcloud五大组件t、HandlerMappinghttps认证、Controller和ViewResolver。
DispatcherServlet
借助于Spring MVC供应的H前端和后端的差异andlerMapping将央求转发到具体的Controllerjava编译器。DispatcherServlet来共同分发Spring MVC一切的央求,是整个Web运用的操控器。spring
HandlerMapping
接口担任结束客户央求到Controller映射。
Controllehttp署理r
接口将处理用户央求,回来ModelAndView政策给DispatcherServlespringboot常用注解t前端操控器,是单个Http央求处理过程中的操控器。
ModelAndView
是Http央求过程中回来的模型(Model)和视图(View)。
ViewResolver
接口(视图解析器)在Web运用http 302中担任查找View政策,将结果烘托给客户。
Spring MVC示例
1. 树立需求的JSP页面
在WEB-INF下树立jsp,在jsp下树立login.jsp和register.jsp
2. 为超链接央求树立操控器类
在包controller创立“Regi前端和后端哪个薪酬高sterController”和“LoginController”两个操控器类(结束了Controller接口),别离处理前端工程师首页中“注册”和“登录”超链接央求。
操控器类结束org.springframework.web.servlet.mvc.Controller
接口
public class前端开发需求掌握什么技能 Loghttps域名inControllerhttps安全问题 implements Controller{
@Override
public ModelAndView handlehttp 500Request(HttpSspringcloudervlehttpclienttRequest arg0, HttpServl前端学什么etResponse arg1) throws Exception {
return new ModelAndView("/WEB-INF/jsp/login.jsp");
//return new ModelAndView("login");spring面试题
}
}
public class RegisterControlleJavar implements Controller{
@Override
public Mode前端结构lAndView handleRequest(HttpServletRequesthttp署理 arg0,前端和后端哪个薪酬高 HttpServletResponse argjava初学1) throws Excep前端训练组织tion {
return new ModelAndView("/WEB-INF/jsp/register.jspspring面试题");
//return newspringboot面试题 ModelAndView("register");
}
}
3. 在web.xspringmvc的作业原理ml安置DispatcherServlet
<?xml version="1.0" encoding="UTjavascriptF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"springmvc的作业原理 xmlns="http://java.sun.com/xml/ns/jajava言语vaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javJavaaee/web-app_2_5.xsd" version="2.5">
<display-name>http 404;mymavehttp署理n</display-name>
<welco前端和后端的差异me-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</whttps安全问题ehttp://www.baidu.comlcome-file>
<welcome-file>index.jsp</welcome-file&前端开发gt;
<we前端和后端哪个薪酬高lcome-file>default.html</welcome-file>
<welcome-spring面试题file>default.htm</welcojava面试题me-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>前端;
<!--安置DispatcherServlet -->
<servlet>
<servlet-name>http署理springmvc</servlet-name>
<servlet-class>org.springframework.webspringmvc的作业原理.servlet.DispatcherServlet</servlet-class>
<!--spring结构 标明容器在启动时当即加载servlet -->
<load-on-startup>1&https和http的差异lt;/load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</s前端开发需求学什么ervlet-name>
<!-- 处理一切URL -->
<url-pattern>/</url-pattern>
</servlet-mappinhttp署理g>
</web-app>
DispatcherSjava模拟器ervlet的servlet政策springmvc初始化时,将在运用程序的WEB-INF目录下查找一个装备文件,该装备文件的命名规则是“servletNam前端和后端哪个薪酬高e-servlet.xml”,如http署理:springmvc-servlet.xml。也能够自定义方位,此刻运用init-param装备文件途径,如:
<!--安置DispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
oJavarg.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>ContextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-config/springmvc-servlejavascriptt.xml
</param-value>
</init-param>
<!--标明容器在启动时当http 404即加载servlet-->
<load-on-startup&gjava作业训练班t;1</load-on-startup前端学什么>
</servlet>
<servlet-mapping>
<servlet-name>spjava环境变量装备ringmvc<java环境变量装备;/servlet-name>
<!--处理一切URL-->
<url-pattern>/</url-pspringcloudattern>
</servlet-mapping>
4. 装备springmvc-servlet.xml
- 供应JSP和操控器之间的相互关系;
- 定义SpringMVC的一个视图解析器(Viewspringboot常用注解Resolver),装备前缀和后缀两个特点,这样操控springboot面试题器类的视图途径仅需供应register和login,视图springmvc的作业原理解析器将会主动添加前缀和后缀。
<?xml version="前端工程师1.0" encoding="UTF-8"?&java模拟器gt;
<beans xml前端面试题ns="http://www.spHTTPSringframework.orhttp://www.baidu.comg/schema/beans"
xmlns:x前端和后端的差异si="http://www.w3.org/2001/Xhttp://192.168.1.1登录MLSchema-instance"
xsi:schemaLocatiohttps安全问题n="
http://www.springframework.org/schema/beaspringns
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--LoginController操控器类,映射到“/login” -->
<bean name="/login" class="com.controller.Loginjava环境变量装备Controller" />
<!--RegisterConthttps和http的差异roller操控器类,映射到“/register” -->
<bean name="/register" clajava编译器shttps和http的差异s="com.controller.RegisterController" />
<bean
class="org.springframjavascriptework.web.servlet.view.InternalResourceVi前端开发需求学什么ewResolver"
id="internalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" /&前端开发gt;
</bean>
<java难学吗/beans>
操控器类改为
//rehttps安全问题turn new ModelAndView("/WEB-INF/http 302jsp/register.jsp");
return new ModelAndView("register");
//return new ModelAndView("/WEB-INF/jsp/login.jsp");//不装备前后缀的写法
return new ModelAndView("login"前端结构);
5. 创立index.jsp
${pagejava面试题Context.requesjava作业训练班t.contextPath}
是JSP获得绝对途径的方法,等价于<%=request.getChttp://192.168.1.1登录ontextPath()%>
。也就是取出安置的运用程序名或者是其时的项目名称
<%@ page language="java" contentType="text/html; charset=UTFspringcloud五大组件-8" pageEncoding="UTF-8"spring结构%>
<spring面试题;!JavaDOCTYPE html PUBLIC "-springboot常用注解//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html&g前端学什么t;
<head>http://192.168.1.1登录
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<ti前端开发需求学什么tljava环境变量装备e&java怎么读gt;Insert title here</title>
</head>
<bodHTTPSy>
没注册的用户,请
<a href="${pageContext.requespring结构sthttp://192.168.1.1登录.contextPath }/register">注册</a>!
<br> 已注spring册的用户,去
<a href="${pageContext.req前端开发需求掌握什么技能uest.contextspringPath }/login">登录</a>!
</body>
</html>