视图和视图解析器
视图和视图解析器1.基本介绍
在SpringMVC中的目标方法,最终返回的都是一个视图(有各种视图)
注意,这里的视图是一个类对象,不是一个页面!!
返回的视图都会由一个视图解析器来处理(视图解析器有很多种)
2.自定义视图2.1为什么需要自定义视图
在默认情况下,我们都是返回默认的视图,然后返回的视图交由 SpringMVC 的 InternalResourcesViewResolver 默认视图解析器来处理的:
在实际开发中,因为业务需求,我们有时候需要自定义视图解析器
视图解析器可以配置多个,按照指定的顺序来对视图进行解析。如果上一个视图解析器不匹配,下一个视图解析器就会去解析视图,以此类推。
2.2应用实例执行流程:
view.jsp,请求到 Handler
12345678910<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>自定义视图测 ...
模型数据
模型数据1.数据放入request
说明:开发中,控制器/处理器中获取的数据如何放入request域,然后在前端(vue/jsp/…)取出显示?
先来看一个例子
应用实例需求:表单提交信息,后端获取信息,并通过request转发到另一个页面,显示信息。
需要知道的是:前端提交的数据,springmvc会自动地封装到java对象中,同时 springmvc 会自动地将其放入request 域中,这样我们就可以在跳转的下一个页面取出数据。
mode_date.jsp提交数据:
123456789101112131415<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>model_data</title></head><body><form action="vote/vote05&quo ...
SpringMVC映射请求数据
SpringMVC映射请求数据1.获取参数值在开发中,如何获取到 http://xxx/url?参数名1=参数值1&参数名2=参数值2 中的参数?
之前的案例中我们知道:提交的url的参数名必须和映射的方法中的形参名保持一致。否则方法获取的是null。
但是如果url的参数名和方法的形参名不一致,又要获取该参数,应该怎么解决这个问题?
答案是使用 @RequestParam 注解。
应用实例
request_parameter.jsp:
12345678910<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>测试request_parameter</title></head><body><h2>获取到超链接参数值</h2><a href="vote/vote01?name=jack& ...
RequestMapping和Rest
RequestMapping和Rest1.@RequestMapping1.1基本使用@RequestMapping注解可以指定控制器(处理器) 的某个方法的请求url
1.2@RequestMapping其他使用方式1.2.1修饰方法和类@RequestMapping注解可以修饰方法,还可以修饰类。
当同时修饰类和方法时,请求的url就是组合形式:/类请求值/方法请求值
例子
(1)UserHandler.java:
1234567891011121314151617181920212223242526package com.li.web;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;/** * @author 李 * @version 1.0 */@RequestMapping(v ...
SpringMVC介绍
SpringMVC介绍1.离线文档解压 spring-5.3.8-dist.zip文件。
位置:spring-framework-5.3.8/docs/reference/html/web.html#spring-web
2.SpringMVC基本介绍2.1SpringMVC特点&概述
SpringMVC 从易用性,效率上都比曾经流行的 Struts2 更好
SpringMVC 是 WEB 层框架:SpringMVC接管了 web层组件,比如控制器,视图,视图解析,返回给用户的数据格式,同时支持 MVC 的开发模式/开发架构
SpringMVC 通过注解,让 POJO 成为控制器,不需要继承类或者实现接口
SpringMVC 采用低耦合的组件设计方式,具有更好的拓展和灵活性
支持 REST 格式的 URL 请求
SpringMVC 是基于 Spring 的,它的核心包为 spring-webmvc-xxx.jar 和 spring-web-xxx.jar
2.2Spring SpringMVC Spring ...
hexo博客搭建记录
Hexo博客搭建记录
参考视频:手把手教你从0开始搭建自己的个人博客 |无坑版视频教程
以下命令操作建议使用管理员权限完成
1. nodejs & hexo 安装1.首先下载node.js,并安装(安装node时,会自动安装npm),安装完毕后在控制台输入node -v,如果显示版本则说明安装成功。
12345D:\>node -vv16.18.1D:\>npm -v8.19.2
2.安装cnpm,命令为npm install -g cnpm --registry=https://registry.npm.taobao.org
(因为这里我已经下过了,所以显示可能不准确)
1234567D:\>npm install -g cnpm --registry=https://registry.npm.taobao.orgnpm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fsadded 4 packages, removed 6 pa ...
HelloWorld!
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
主题 3 编辑器(Vim)
主题 3 编辑器(Vim)编辑器 (Vim) · the missing semester of your cs education (missing-semester-cn.github.io)
代码编辑器和和其他的编辑器(比如用来写文章的编辑器)有一些不同。
这是因为写程序和写文章不同。当你写程序时,会花大量时间来阅读你写的东西,或者来移动光标,做一些小小的修改;而不是像写文章的时候,从上到下一气呵成。因此,对于不同的用途,我们会使用不同的编辑器,这是很合理的。
1.该学哪个编辑器?Stack Overflow 的调查显示,VS Code是目前最流行的代码编辑器。而 Vim 则是最流行的基于命令行的编辑器。就算最终你没有打算长期使用Vim,我们仍然认为学习Vim背后的思想很有价值。
另外,许多工具也觉得vim哲学很棒,从而提供了Vim模式。例如当前最热门的VS Code,支持Vim键位绑定,该插件已经被下载了数百万次。
2.Vim的哲学Vim是一个基于模式(Modal)的编辑器,这意味着Vim有多个模式。
Modal这个词源于Mode
多模式的思想源于,当你在写程序的时候会经常 ...
主题 1 The Shell
主题 1 The Shell课程概览与 shell · the missing semester of your cs education (missing-semester-cn.github.io)
Shell是什么?一旦你想脱离可视化界面让你做的,然后做点别的事情,那么Shell将是你和计算机交互的最主要的方式之一。
可视化界面受限于,它只能做被设计出来的操作——比如你不能点击一个不存在的按钮或者是用语音输入一个还没有被录入的指令。这就是这门课介绍命令行工具和基于文本的工具的理由,shell则是你去做这些操作的地方。
在Windows和Linux可以找到成堆的终端(Terminal),这些是能显示Shell的文本窗口。其中普遍的是bash,或者叫Bourne Again Shell。由于bash的普遍性,这门课中将使用bash。
使用Shell终端(Terminal)是你电脑上和shell交互的主要文本界面。
当你打开一个终端,你通常会在终端中看到这样的一行,称为命令行提示符(Shell Prompt)
1[root@VM-8-17-centos ~]#
它告诉你,你的主机名 ...