SpringMVC支持ajax 导入jquery的依赖 导入JackSon的依赖 @JsonIgnore 输出数据的时候,不将当前数据发送给前端 @JsonFormat与@DateTimeFormat...,其他操作都可以省略 工作原理 异常处理 @ExceptionHandler()注解使用演示 里面参数可以填数组,每一个参数代表当前处理异常的方法能够处理的异常类型,返回值可以跳转到定制的错误页面 注意事项...通过BindingResult的res对象的 getFieldErrors方法,可以获得当前属性值出现的全部错误,然后通过一个Model对象存储错误信息,放到隐含模型中 //只接收Post请求...@JsonFormat与@DateTimeFormat注解的使用 ---- jQuery的each()函数补充知识点 jQuery的each()函数 ---- @ResponseBody注解将服务器端将对象以...字符串直接封装为自定义类型对象,前提是自定义对象的属性名和请求参数名一一对应,并且有get和set方法,还有无参构造器 @ResponseBody与@RequestBody注解的用法 //获取一个请求的请求体
——负责转发请求,对请求进行处理 View——负责界面显示 Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现 在JSP/Servlet开发的软件系统中,这三个部分的描述如下所示...,它规避了JSP与Servlet各自的短板,Servlet只负责业务逻辑而不会通过out.append()动态生成HTML代码;JSP中也不会充斥着大量的业务代码。...参考:知乎@David ---- JSP 的执行原理 总结: 当访问一个 JSP 页面时,该页面请求将会讲给服务器中的 JSP 引擎去处理,它负责解释和执行 JSP 页面,每个 JSP 页面在第一次被访问时...动态包含: 包含的时机:在运行阶段合并代码 最终将得到两个 class 文件 总结:在实际开发中,能用静的就别用动的...> 基础迭代标签,接受多种集合类型 根据指定的分隔符来分隔内容并迭代输出 用来给包含或重定向的页面传递参数 重定向至一个新的URL
访问内置对象的数据 用 EL 实现:${ varName } 访问请求参数的数据 在 EL 之前使用下列方式访问请求参数的数据...]} 动态取值的结果为:${person[var1]} 访问集合中的数据 <% // 准备一个 List 集合并添加数据内容 List list = new LinkedList... 常用的内置对象 JSP pageContext - 处理当前页面 作用域 pageScope - 同页面作用域属性名称和值有关的 Map 类requestScope...类 请求参数 param - 根据名称存储请求参数的值的 Map 类paramValues - 把请求参数的所有值作为一个 String 数组来存储的 Map 类 请求头 header - 根据名称存储请求头主要值的...JSTL 被称为 JSP 标准标签库。
M(Model):模型层主要封装数据采用JavaBean (如:EJB) V(View):视图层JSP负责显示 C(Controller):控制层 Serlvet 接受页面请求,然后采用模型层的方法,然后将返回的数据给视图层...三层结构与MVC模式的关系: WeiyiGeek....(Service),这是由于Dao在实际开发中只做一件事情那就是数据库CURD,而我们为了开发的规范将服务层放置于Servlet与Dao之间,比如下图所示(重点); WeiyiGeek.三层结构原理...模糊查询 描述:结构与上面大致相同不同的是实现的JSP文件,直接上主要部分代码; /Web/WebContent/findlist.jsp <form action="SearchPersonServlet...xml:节点清晰,传输大文本字段 json:阅读性更好,容量更小; 异步查询 描述:采用原生<em>的</em>Ajax<em>与</em><em>JQuery</em>封装过后<em>的</em>Ajax进行实现; (1) View 层展现 : /Web/WebContent
M(Model):模型层主要封装数据采用JavaBean (如:EJB) V(View):视图层JSP负责显示 C(Controller):控制层 Serlvet 接受页面请求,然后采用模型层的方法,然后将返回的数据给视图层...三层结构与MVC模式的关系: ? WeiyiGeek....(Service),这是由于Dao在实际开发中只做一件事情那就是数据库CURD,而我们为了开发的规范将服务层放置于Servlet与Dao之间,比如下图所示(重点); ?...模糊查询 描述:结构与上面大致相同不同的是实现的JSP文件,直接上主要部分代码; /Web/WebContent/findlist.jsp <form action="SearchPersonServlet...xml:节点清晰,传输大文本字段 json:阅读性更好,容量更小; 异步查询 描述:采用原生<em>的</em>Ajax<em>与</em><em>JQuery</em>封装过后<em>的</em>Ajax进行实现; (1) View 层展现 : /Web/WebContent
,进入后获取对应的参数进行判断,返回相对应的json实体结果,前端再进行处理...标签库文件,位于WEB-INF下common中的tag.jsp 编写列表页面,位于WEB-INF下common中的list.jsp <%@page contentType="text/html; charset=UTF...,也就是数据库<em>中</em><em>的</em>Timestamp类型 -然后在localDataTime.tag<em>中</em>写自己自定义<em>的</em>格式化流程 <%-- 这里是定义页面使用标签<em>中</em><em>的</em>属性设置,<tags:localDataTime dateTime
EL表达式 一、EL与JSTL作用: 简化JSP文件上java代码开发步骤。 二、jsp主要的开发任务 将域对象中的数据读取并写入响应体中。...会话作用域对象 3.request: 请求作用域对象 4.pageContext: 当前页作用域对象(很少使用) 七、EL表达式中域对象的别名 JSP...: 【作用】:读取请求协议包(request)中关联的多个请求参数,将参数内容保存到数组中 【格式】:${paramValues.请求参数名} 【相当于】: String...array[] = request.getParameterValues("请求参数名") (该请求参数中含有多个值) 注: 因为单独EL表达式中没有循环,所以每个信息对应值的下标需要自己写...十二、相对路径和绝对路径 1.相对路径与绝对路径区别: 1、相对路径:以当前文件位置为起点,定位其他的资源文件 2、绝对路径:以当前网站的根目录,定位其他资源文件 “./”:
,因为这个时候统计的是多个用户,而非一个用户; request:域范围是整个请求链; pageContext:域范围是一个jsp页面,在一个页面中存数据再取数据没有任何意义,所以这里所说的域指的是在当前...常用操作:${pageContext.request.contextPath} 关于请求参数相关内置对象的介绍 请求参数相关的内置对象是: param:该内置对象的类型是Map,可以用来获取值为单值的请求参数,其中key指的是请求参数的名称,value指的是请求参数的值,使用param获取请求参数与request.getParameter()方法一样。...关于请求头相关内置对象的介绍 与请求头相关的内置对象是: header:该内置对象的类型是Map,用来获取值为单值的请求头信息,其中key代表的是请求头名称,value代表的是请求头的值...关于全局初始化参数的内置对象的介绍 我们再学习Servlet时,讲过在web.xml文件中配置全局初始化参数,并且全局初始化参数可以使用ServletContext对象获取,现在在EL表达式中内置了一个与初始化参数相关的对象
答:因为JSP技术允许在页面中嵌套java代码,以产生动态数据,并且web服务器在执行jsp时,web服务器会传递web开发相关的对象给jsp, jsp通过这些对象,可以与浏览器进行交互...静态包含:把其它资源包含到当前页面中。 ..."> 两者的区别:转译(翻译)的时间段不同 前者:在翻译时就把两个文件合并 后者:不会合并文件,当代码执行到include...> 请求转发 设置请求转发的参数 创建一个对象 给指定的对象属性赋值...只能处理简单java代码,复杂的逻辑java代码就不行了!此时就用JSTL。 2、JSTL的作用 使用JSTL实现JSP页面中逻辑处理。如判断、循环等。
JSTL是什么 JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。...xml 库包含一些标记,这些标记用来操作通过XML表示的数据,而 sql 库定义了用来查询关系数据库的操作。 两个 JSTL 标记库验证器允许开发人员在其 JSP 应用程序中强制使用编码标准。... JSTL一般配合EL一起使用,先看EL EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段。...实例对应于当前页面的处理 pageScope 与页面作用域属性的名称和值相关联的Map类 requestScope 与请求作用域属性的名称和值相关联的Map类 sessionScope 与会话作用域属性的名称和值相关联的...Map类 applicationScope 与应用程序作用域属性的名称和值相关联的Map类 param 按名称存储请求参数的主要值的 Map 类 paramValues 将请求参数的所有值作为 String
重定向就是当客户端给服务器发送求以后,服务器返回了一个带有新的地址的返回,然后客户端去请求这个新的地址(302),而转发则是直接接通到新的服务器客户端不须在请求 304就是缓存 首先浏览器发了一个...service方法其实有两个 * 第一个是从上面继承下来的,另一个是自己的实际要用的,他们的不同就在于参数,自己的那个参数是与Http协议相关的,也就是说这个东西绑定了Http协议...* 但是以前的那个参数是与协议无关的,但是最终tomcat要调用的是父类里面的service方法,所以说在继承的service方法中首先把参数都强转成http类型的参数 * 也就是自己的service...JSP 九大内置对象和四大域对象: out 就是response.getWriter 用于想浏览器输出 config ServletConfig 就是xml中的内容 page 当前jsp...在tld文件中定义 4.三层架构 mvc是bs架构的公共的东西 而三层架构则是java web的东西: web层 与web相关的 Servlet jsp 业务层 功能【登陆
*,java.text.*" %>. include 指令 静态包含:把其它资源包含到当前页面中。...注意: 静态include的结果是把其他jsp引入当前jsp,两者合为一体,可以达到数据的共享即可以说是统一编译的,而 动态include的结构是两者独立的,直到输出时才合并即为分别编译的....动态包含可带参数,静态包含不能带参数.如(放入参数); taglib 指令 在JSP页面中导入JSTL标签库...替换jsp中的java代码片段。... include指令与include动作的区别 发布者:全栈程序员栈长
最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数中单个字符串的值....${paramValues}表示返回请求参数的一组 值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话 范围内的变量.applicationScope...取得请求的URL,但不包括请求之参数字符串 ${pageContext.request.contextPath} 服务的web application 的名称 ${pageContext.request.method...与上例比较,可以发现EL会自 动根据表达式计算结果返回不同的数据类型。 表达式的写法与java代码中的表达式编写方式大致相同。...否 当前应用程序 例子: http://www.yourname.com/login.jsp"/> 将请求重新定向到http://www.yourname.com/login.jsp
,在index.jsp中会请求"/emps",即EmployeeController.java中的getEmps方法: @RequestMapping("/emps") public String...PageHelper.startPage:传入两个参数,第一个是从第几页开始显示,第二个参数是每页显示的条数。...之后我们利用Model,将page装进pageInfo中,传给视图页面views文件夹下的list.jsp。...%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!...启动服务器之后,输入localhost:8080/curd_ssm/,会先转到index.jsp页面,而index.jsp会请求/emps,跳转到list.jsp, ?
在MVC中,JSP属于展示层,但是JSP却又可以写一定的业务,甚至跑去做数据层的事情,这样开发中就会变得无比混乱,也增加了开发的困难程度,所以将展示层与业务层分开就成为了主流,也就是我们说的前后端分离,...不存在则实例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。...表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[] header 表示一个保存了所有http请求头字段的Map对象 headerValues 同上,返回string...其实EL函数库就是fn方法库,是JSTL标签库中的一个库,也有人称之为fn标签库,但是该库长得不像是标签,所以称之为fn方法库 既然作为JSTL标签库中的一个库,要使用fn方法库就需要导入JSTL标签!...JSTL与HTML代码十分类似,遵循着XML标签语法,使用JSTL让JSP页面显得整洁,可读性非常好,重用性非常高,可以完成复杂的功能!
重学SpringBoot系列之整合静态资源与模板引擎 webjars与静态资源 spring boot静态资源 favicon.ico图标 欢迎页面 使用WebJars管理css&js 1.pom中引入依赖...tomcat-embed-jasper 主要用来支持 JSP 的解析和运行。 jstl ,提供给Java Web开发人员一个标准通用的标签库。...--jsp页面使用jstl标签--> javax.servlet jstl </...name1=dhy, 注意URL中的name1参数 ---- 常用的工具类: 内置对象 #strings:字符串工具类 #lists:List 工具类 #arrays:数组工具类 #sets:Set...#messages:在变量表达式中获取外部消息的方法,与使用#{…}语法获取的方法相同。 #uris:转义部分URL / URI的方法。
格式: 常用属性如下: language:jsp脚本中可以嵌入的语言种类 pageEncoding:当前jsp文件的本身编码...: page域:当前jsp页面范围 request域:一次请求 session域:一次会话 application域:整个web应用 2)可以获得其他8大隐式对象 例如: pageContext.getRequest...11个 pageScope,requestScope,sessionScope,applicationScope ---- 获取JSP中域中的数据 param,paramValues - 接收参数....jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库 标签库 标签库的URI 前缀 ?...2.JSTL下载与导入 JSTL下载: 从Apache的网站下载JSTL的JAR包。
静态包含就是在jsp编译成java的时候形成的,也就是最终是两个文件合并成了一个class,最后形成一个class文件 RequestDispatcher则是动态包含,他们在显示之前始终是两个java文件...4.九大内置对象 out jsp的输出流,向浏览器输出数据 page 当前的jsp对象,也就是在编译成大java中有page=this config 对应的servletConfig对象 pageContext...ServletContext 一个应用 Session 一个会话 Request 一个请求 pageContext 一个jsp页面 ,一般用来jsp标签的数据传输 6.pageContext作用 代理其他的三大域对象...获取其他的jsp八大内置对象 7.JSP动作标签 转发 包含 为其他的标签传递参数 8.EL表达式 EL表达式主要就是用来代替JSP中的 这个标签的,他可以简单的用于输出语句...他需要引入jstl.jar 他有四大库,但是常用的只有两个一个是core另外一个就是formate标签库 注意导入的时候uri是jsp/core 或者 jsp/formate 1.core标签库(c标签
2,初始化阶段: 加载与 JSP 对应的 servlet 类,创建其实例,并调用它的初始化方法 容器载入 JSP 文件后,它会在为请求提供任何服务前调用 jspInit() 方法。...3,执行阶段: 调用与 JSP 对应的 servlet 实例的服务方法 这一阶段描述了 JSP 生命周期中一切与请求相关的交互行为,直到被销毁。...行为标签只有一种语法格式,它严格遵守XML标准: 语法 描述 jsp:include 用于在当前页面中包含静态或动态资源 jsp...jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象 jsp:element...> 基础迭代标签,接受多种集合类型 根据指定的分隔符来分隔内容并迭代输出 用来给包含或重定向的页面传递参数 重定向至一个新的URL
1、基于jQuery的Ajax 1.1 基本Ajax 参数 说明 url 请求地址 type 请求类型 data 请求参数 dataType 返回参数 success 成功处理函数 error 错误处理函数...jQuery方式使用的Ajax //当用户登录,输入用户名后,失去焦点,校验登录用户名再系统中是否被使用 $("#uname").blur(function(){...boolean result= false; //模拟调用业务,查询当前用户名再数据中是否有记录 List userNames = Arrays.asList...-- 核心标签库 --> <!
领取专属 10元无门槛券
手把手带您无忧上云