百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

SpringBoot学习笔记三之表述层 springboot的dao层怎么写

yuyutoo 2024-10-26 16:07 3 浏览 0 评论

首先配置learn-admin-webui中的web.xml文件

配置ContextLoaderListener

ContextLoaderListener的作用:加载 Spring 的配置文件,根据 Spring 的配置文件初始化 IOC 容器

配置CharacterEncodingFilter

CharacterEncodingFilter解决POST请求的字符乱码问题。需要注意的是在web.xml中存在多个Filter时,让这个Filter 作为过滤器链中的第一个 Filter。

request.setCharacterEncoding(encoding)要求必须在所有request.getParameter(xxx)操作前面

response.setCharacterEncoding(encoding)要求必须在所有response.getWriter()

操作前面

不满足这个顺序要求字符集设定无法生效

配置DispatcherServlet

在learn-admin-webui创建文件spring-web-mvc.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
</beans>

在web.xml中继续配置

说明

url-pattern配置方式:/表示拦截所有请求

<url-pattern>/</url-pattern>

url-pattern配置方式:配置请求扩展名

优点1:xxx.css、xxx.js、xxx.png等等静态资源完全不经过SpringMVC,不需要特殊处理

优点2:可以实现伪静态效果。表面上看起来是访问一个HTML文件这样的静态资源,但是实际上是经过Java代码运算的结果

伪静态作用1:给黑客入侵增加难度

伪静态作用2:有利于SEO优化(让百度、谷歌这样的搜索引擎更容易找到我们项目)

缺点:不符合RESTFul风格

为什么要另外再配置json扩展名呢?

如果一个Ajax请求扩展名是html,但是实际服务器给浏览器返回的是json数据,二者就不匹配了,会出现406错误

为了让Ajax请求能够顺利拿到JSON格式的响应数据,我们另外配置json扩展名

然后返回去继续配置spring-web-mvc.xml

这个com.xlgl.wzy.mvc是在learn-admin-component中,包含下的包结构

com.xlgl.wzy.mvc
com.xlgl.wzy.mvc.config
com.xlgl.wzy.mvc.handler
com.xlgl.wzy.mvc.interceptor

继续配置spring-web-mvc.xml中的注解驱动和视图解析器

创建一个页面访问一下

首先在learn-admin-webui项目的pom中加入依赖

创建index.jsp

编写一句话

在learn-admin-component中新建对应的handler

编写测试方法

我们写一个查询所有的方法

首先在service接口里

接口serviceimpl中

在handler中就可以查询了

返回值我们创建一个testssminfo.jsp文件

编写内容

在handler中的方法对应好

启动Tomcat,访问

http://localhost:8080/learn-admin-webui/index.jsp

点击超链接

写一个Base标签

<base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath }/"/>

需要注意的点

? base 标签必须写在 head 标签内部

? base 标签必须在所有“带具体路径”的标签的前面

? serverName 部分 EL 表达式和 serverPort 部分 EL 表达式之间必须写":"

? serverPort 部分 EL 表达式和 contextPath 部分 EL 表达式之间绝对不能写"/"

? 原因:contextPath 部分 EL 表达式本身就是"/"开头如果多写一个"/"会干扰 Cookie 的工作机制

? serverPort 部分 EL 表达式后面必须写"/"

Ajax 请求

前端发送过来,后端要处理的请求有两种:

普通请求:后端处理完成后返回页面,浏览器使用页面替换整个窗口中的

内容

Ajax 请求:后端处理完成后通常返回 JSON 数据,jQuery 代码使用 JSON 数据

对页面局部更新

引入js

准备js文件

在index.jsp中,引入

现在我们想发送数组到后台服务器

代码实现

Js

Ajax

编写Handler

启动访问一下

后台也打印出来了

这里一定要带上多出来的方括号!!!

结论:不建议采用这个方案!!!

再来一个Index.jsp

Js

后台在learn-admin-entity中创建一个参数接收对象

添加类内容

在handler中添加内容

启动服务

后台输出

第三种实现

页面内容

Js

Handler中

启动服务访问

后台输出

再体会下第三种的方式

learn-admin-entity中创建三个类

依次添加,自己完成get和set方法

编写jsp

Js文件

完成handler

启动访问

后台输出

统一返回数据格式

在learn-common-util新建类

编写类内容

ResultEntity

CasUtils

修改handler中代码测试下返回类

启动页面访问

后台信息

异常映射

首先在learn-admin-webui配置spring-web-mvc.xml

首先在learn-admin-webui创建system-error.jsp

添加内容

测试下,写一个错误方法

页面跳转

查看效果

完成一个判断请求类型的工具方法

在learn-common-util新建

在learn-common-util中pom.xml中完成依赖

然后完成CasUtils代码

测试一下,在handler中编写代码

页面添加

编写对应的js

启动服务查看


再来看基于注解的

首先在learn-admin-component的com.xlgl.wzy.mvc.config包下

完成代码

CommonResolve方法

是ajax请求

测试一下

在handler中

在页面中

judgeResult=false

judgeResult=true

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: