javaWeb差缺补漏(一)【针对于自身知识点掌握情况】

前端三大件部分

1、a标签的target属性==iframe标签的name属性

2、textarea标签:表示多行文本输入。起始标签和结束标签中的内容是默认值。

rows:属性设置可以显示多少行。

cols:属性设置每行显示多少列。

3、form表单的action提交的时候,是根据form表单的name属性提交的。否则后端服务器无法接收的属性值的键值对。name属性必须。

4、如果是单选或者是多选框,如果想要提交的服务器,需要存在value属性才可以。

5、组合选择器 #abc,class01,class02{}

6、函数中的参数属性

function sum(val1,val2){var res = 0;for(var i=0;i<arguments.length;i++){res+=arguments[i];}return res;
}

alert(sum(1,2,3,4,"abc",5,6,7,8,9)); 返回 10abc59789

7、判断参数类型

function sum(val1,val2){var res = 0;for(var i=0;i<arguments.length;i++){if(typeof(arguments[i]) == "number"){res += arguments[i];}}return res;
}

8、js获取当前节点的父节点的下一个兄弟元素

$(this).parentNode.nextSibing;
//如果只想是获取元素节点
$(this).parnentNode.nextElementSibling;

上一个兄弟节点:previousSibling

10、body标签的对象,页面一加载的时候是没有的,需要加载完成后才有

window.onload = function(){var divObj = document.createElement("div");divObj.innerHTML = "pshdhx";document.body.appendChild(divObj);
}

11、prop和attr的区别

attr:针对于是否有值或者是属性,attr返回属性值和undefined

prot:针对于是否有值或者是属性,prop返回true和false

12、jquery的函数

toggleClass("className") 有就删除,没有就添加样式;

offset({top: xxxx,left: xxxx}) 获取和设置元素的坐标;

div.show(1000毫秒,callback)

fadeIn 慢慢显示 fadeOut 慢慢消失

fadeTo:在指定的时长内,慢慢的将透明度修改到0.0就是不可见,1就是完全可见。

$(document).ready(function(){

}) ==============

$(function(){

//浏览器内核解析完成标签,加载完成dom对象后,就执行这个函数。

如果有多个,会依次执行

})

window.onload =  function(){

        //执行这个要慢一点,除了要完成解析的标签,dom对象,还要解析完成标签的内容。

}

$("#div1").one("click",function(){

        //这个只会执行一次

})

$("#div").live("click",function(){})

$("#div").on("click",function(){})

都是对动态添加的元素,绑定属性值。

13、事件的冒泡:

点击子元素,也会触发父元素的点击事件。解决:return false;

Tomcat

1、启动方式:到bin目录下,执行命令: catalina run

2、到conf/Catalina/localhost/abc.xml

<Context path="/abc" docBase="E:\book" />

Context表示一个工程的上下文

path表示工程的访问路径 : /abc

docBase 表示工程目录在哪里

Servlet

servlet是规范,在api中就是接口。J2EE的三大组件【servlet、Filter、Listener】之一,用来接收请求和响应请求。

ServletConfig作用:获取web.xml中的配置属性【获取servlet别名、初始化参数init-param、和获取servletContext对象】。

servlet初始化:

public void init(ServletConfig servletConfig){<init-param><param-name></param-name><param-value></param-value></init-param>
}

servlet是程序第一次访问时,创建的。servletConfig是每个servlet程序创建时的就创建的对象。

getServletConfig()方法可以直接使用 extends HttpServlet

ServletConfig

ServeltConfig是一个接口,标识servlet上下文

一个web工程,只要一个serveltContext对象的实例。

serveltContext是一个域对象(就是可以存储map值的对象)。

getServletConfig().getServletContext();可以直接使用。

我们可以直接set、get、removeAttribute方法

作用:

1、获取web.xml中上下文的参数context-param

2、获取当前的工程路径 String path = getServeltContext().getRealPath("/")

3、获取工程部署后在服务器硬盘上的绝对路径。

4、可以像map一样存储键值对。

Http协议

协议?是指双方或多方相互约定好,大家都要遵守的规则,叫做协议。

所谓Http协议:客户端与服务器之间通信时,发送的数据,需要遵守的规则。

Http协议中的数据:报文。

 HttpServletRequest类

在doGet和doPost方法里边

通过该类的对象,获取该次请求的所有信息。

String username = req.getParameter("username");String[] hobby = req.getParameter("hobby");System.out.println("兴趣爱好:"+ Arrays.asList(hobby));

解决请求乱码

post请求,如果出现了中文,则会出现???这样的乱码

解决方式:在方法的第一行

req.setCharacterEncoding("UTF-8");

在获取请求参数之前,设置才有效,否则无效。

请求转发

服务器接收到请求之后,从一个资源跳转到另外一个资源。就是从一个servlet跳转到另外一个servlet,用户收到的最终的结果。

req.getRequestDispatcher("/servlet2")

请求转发的特点:

1、浏览器的地址栏没有发生任何变化。

2、他们是一次请求,所以共享request域中的所有信息。

3、可以转发到web-info的目录下,浏览器是无法直接进入到/web-info/form.html中的。

4、不可以访问外部地址,因为url的地址栏中,是带着工程路径名称的

req.getRequestDispatcher("a/b/c.html").forward(req,resp);

当点击正常跳转的url地址是:/07_servelt/a/b/c.html

在Servlet中跳转的时候url地址栏是:07_servlet/forwardC,相对路径参照的地址变了。

可以在head中设置一个base值

<base href="http://localhost:8080/07_sevlet">

web中的绝对路径:http://ip:port/工程名/资源路径

/ : 该符号被浏览器解析,代表http://ip:port

/ : 该符号被服务器解析,代表http://ip:port/工程路径

        1、url-pattern servlet1

        2、servetContext.getRealPath("/")

        3、req.getRequestDispatcher("/")

输出流

1、getOutputStream()字节流,通常用于下载,传递二进制数据

2、getWriter() 字符流,回传字符串

二者只能使用一个

往客户端回传数据:

resp.getWriter().write("response content");

响应字符中文乱码的解决

resp.getCharacterEncoding(); //ISO-8859-1

resp.setCharacterEncoding("UTF-8");

但是,设置了服务器的响应字符集还不行,需要设置浏览器的字符集为Unicode

通过响应头设置浏览器也是utf-8的字符集

resp.setHeader("content-type","text/html;charset=utf-8");

或者是

resp.setContextType("text/html;charset=utf-8");

它会同时设置服务器和客户端都是用该字符集,还设置了响应头。

注意点:此方法一定要在获取流对象之前调用才有效

请求重定向

指的是,给服务器发送的请求,服务器告诉客户端,给你个新地址,你去重定向,因为之前的响应地址可能被废弃。

特点:

1、浏览器地址栏发生了变化

2、接口请求了两次

3、不同享request域中的信息,tomcat是收到了两次请求。

4、不能进入到web-info目录下,该目录是受保护的,第二次请求相当于是从浏览器过去的,所以无法访问。

5、可以访问工程以外的资源

resp.sendRedirect("http://localhost:8080")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103421.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用proxman对iOS真机进行抓包

1 打开手机的safari 输入地址 http://proxy.man/ssl 2 下载证书代开设置页面&#xff0c;安装证书 设置信任证书 打开手机设置 &#xff0c;点击通用 点击关于本机、 点击证书信任设置 打开信任设置开关 4 设置手机代理 查看需要设置的代理地址 打开界面 在手机中按…

Redis过期数据的删除策略

1 介绍 Redis 是一个kv型数据库&#xff0c;我们所有的数据都是存放在内存中的&#xff0c;但是内存是有大小限制的&#xff0c;不可能无限制的增量。 想要把不需要的数据清理掉&#xff0c;一种办法是直接删除&#xff0c;这个咱们前面章节有详细说过&#xff1b;另外一种就是…

React基础入门之虚拟Dom

React官方文档&#xff1a;https://react.docschina.org/ 说明 重要提示&#xff1a;本系列文章基础篇总结自尚硅谷课程&#xff0c;且采用类式写法&#xff01;&#xff01;最新的函数式组件写法见高级篇。 本系列文档旨在帮助vue同学更快速的学习react&#xff0c;如果你很…

【SpringCloud技术专题】「Gateway网关系列」(2)微服务网关服务的Gateway功能配置指南分析

Spring Cloud Gateway简介 Spring Cloud Gateway是Spring Cloud体系的第二代网关组件&#xff0c;基于Spring 5.0的新特性WebFlux进行开发&#xff0c;底层网络通信框架使用的是Netty&#xff0c;所以其吞吐量高、性能强劲&#xff0c;未来将会取代第一代的网关组件Zuul。Spri…

【分享】小型园区组网场景

小型园区组网图 在小型园区中&#xff0c;S2700&S3700通常部署在网络的接入层&#xff0c;S5700&S6700通常部署在网络的核心&#xff0c;出口路由器一般选用AR系列路由器。 接入交换机与核心交换机通过Eth-Trunk组网保证可靠性。 每个部门业务划分到一个VLAN中&#…

Verilog语法学习——边沿检测

边沿检测 代码 module edge_detection(input sys_clk,input sys_rst_n,input signal_in,output edge_rise,output edge_down );//存储上一个时钟周期的输入信号reg signal_in_prev;always (posedge sys_clk or negedge sys_rst_n) beginif(!sys_rst_n)signal_in_pre…

【ARM】Day9 cortex-A7核I2C实验(采集温湿度)

1. 2、编写IIC协议&#xff0c;采集温湿度值 iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "led.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_S…

STM32 进不了main 函数

1. 我用的是STM32L151C8T6 的芯片&#xff0c;在github 上找了个别人的例程&#xff0c;拿来当模板改&#xff0c;由于他用的是HSE 外部晶振&#xff0c;我用的是内部晶振HSI&#xff0c;所以需要改系统时钟&#xff0c;改完后debug&#xff0c; 一直进不了main 函数&#xff0…

SQL地址门牌排序,字典序转为数字序

页面有一批地址数据查询&#xff0c;结果字符排序默认是字典序的&#xff0c;所以造成了门牌3号在30号之前&#xff0c;影响用户体验&#xff1b; id, road_code, road_name, address_fullname, address_name 102 10086 人民一路 北江省南海市西湖区人民一路3号 3号 103 10086…

Docker Desktop 笔记

https://blog.csdn.net/qq_39611230/article/details/108641842 https://blog.csdn.net/KgdYsg/article/details/118213499 1、修改配置 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://…

【FAQ】视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…

C++中机器人应用程序的行为树(ROS2)

马库斯布赫霍尔茨 一、说明 以下文章为您提供了对机器人应用程序或框架中经常使用的行为树的一般直觉&#xff1a;ROS&#xff0c;Moveit和NAV2。了解行为 Tress &#xff08;BT&#xff09; 框架的原理为您提供了在游戏领域应用知识的绝佳机会。BT可以与Unity或Unreal集成。 由…

[JavaWeb]【十】web后端开发-SpringBootWeb案例(配置文件)

目录 一、参数配置化 1.1 问题分析 1.2 问题解决&#xff08;application.properties&#xff09; 1.2.1 application.properties 1.2.2 AliOSSUtils 1.2.3 启动服务-测试 二、yml配置文件 2.1 配置格式 2.1.1 新增 application.yml 2.1.2 启动服务 2.2 XML与prope…

【广州华锐互动】VR工厂消防安全演习提供了一种全新、生动的安全教育方式

在工业生产环境中&#xff0c;安全永远是首要的考虑因素。近年来&#xff0c;随着科技的发展&#xff0c;虚拟现实(VR)技术在各种领域的应用越来越广泛&#xff0c;包括教育和培训。其中&#xff0c;VR工厂消防安全演习就是一个典型的例子&#xff0c;它为员工提供了一种全新的…

[JavaWeb]【十一】web后端开发-SpringBootWeb案例(登录)

目录 一、登录功能 1.1 思路 1.2 LoginController 1.3 EmpService 1.4 EmpServiceImpl 1.5 EmpMapper 1.6 启动服务-测试 1.7 前后端联调 二、登录校验&#xff08;重点&#xff09; 2.1 问题 2.2 问题分析 2.3 登录校验​编辑 2.4 会话技术 2.4.1 会话技术 2.4.2 …

IDEA创建Spring,Maven项目没有resources文件夹

有时新建Spring或Maven项目时&#xff0c;会出现目录中main下无resources文件夹的情况&#xff0c;来一起解决一下&#xff1a; FIles|Project Structure 在Modules模块找到对应路径&#xff0c;在main下创建resources&#xff0c;右键main&#xff0c;选择新文件夹 输入文件…

neo4j

UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…

【C++】做一个飞机空战小游戏(九)——发射子弹的编程技巧

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动【C】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C】做一个飞…

673. 最长递增子序列的个数

673. 最长递增子序列的个数 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;方法一&#xff1a;动态规划方法二&#xff1a;贪心 前缀和 二分查找 参考代码&#xff1a;__673最长递增子序列的个数__动态规划__673最长递增子序列的个数__贪心_前缀和_二分查找…

Springboot+dynamic-datasource+Druid数据库配置加密

Springbootmybatis-plusdynamic-datasourceDruid数据库配置加密 文章目录 0.前言1. 动态添加移除数据源2.基础介绍3. 使用步骤示例简单方式&#xff0c;使用默认的加密1. 使用下面 工具类输出&#xff0c;加密后的密码1. 将上面加密后的密码配置到配置文件中如果使用的默认key…