总结:JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例
总结:JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例
- 一·方法调用顺序是按照英文字母顺序从A-Z
- 二·该示例可以用作servlet中request的API参考,从而知道该如何获取哪些路径参数等等
- 三·Servlet的API版本5.0.0、JSP的API版本:3.1.1、Tomcat的API版本:10.1.14
- 四·源代码:
- 五·浏览器发起一个GET请求结果示例:
- 1.GET请求示例:
- 2.GET请求响应结果:文本以及截图
- 六·Postman发起一个POST请求结果示例:
- 1.POST请求示例:
- 2.POST请求响应结果:文本以及截图
一·方法调用顺序是按照英文字母顺序从A-Z
二·该示例可以用作servlet中request的API参考,从而知道该如何获取哪些路径参数等等
三·Servlet的API版本5.0.0、JSP的API版本:3.1.1、Tomcat的API版本:10.1.14
四·源代码:
<%@ page import="jakarta.servlet.http.HttpSession" %>
<%@ page import="jakarta.servlet.http.Cookie" %>
<%@ page import="jakarta.servlet.http.Part" %>
<%@ page import="java.util.*" %>
<%@ page import="java.security.Principal" %>
<%@ page import="jakarta.servlet.ServletInputStream" %>
<%@ page import="java.io.BufferedReader" %>
<%@ page import="jakarta.servlet.RequestDispatcher" %>
<%@ page import="jakarta.servlet.ServletContext" %>
<%@ page import="jakarta.servlet.http.HttpServletRequest" %>
<%@ page import="jakarta.servlet.DispatcherType" %>
<%@ page import="sun.misc.CompoundEnumeration" %>
<%@ page import="java.net.URLDecoder" %><%--Created by IntelliJ IDEA.User: 刘明福Date: 2022/9/19Time: 17:30To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%//在请求会话里面存放两个键值对request.setAttribute("key1", "张三");request.setAttribute("key2", "李四");/*** 用于获取客户端对当前请求进行身份验证的方法的名称。它返回一个字符串,表示身份验证方法的名称,或者如果请求未经过身份验证,则返回null。* getAuthType()方法返回的身份验证方法的名称通常是由服务器提供的,并且取决于服务器的配置和实现。* 常见的身份验证方法包括BASIC、DIGEST、FORM等。如果请求未经过身份验证,则返回null。*/String authType = request.getAuthType();//获取异步上下文对象(AsyncContext)。异步上下文对象用于支持异步请求和响应处理
// jakarta.servlet.AsyncContext asyncContext = request.getAsyncContext();//获取请求中所有属性的名称。它返回一个枚举(Enumeration)对象,其中包含请求中所有属性的名称Enumeration<String> attributeNames = request.getAttributeNames();//获取请求中指定属性的值。它接受一个字符串参数,表示要获取的属性的名称,并返回该属性的值。String attribute1 = (String) request.getAttribute("key1");String attribute2 = (String) request.getAttribute("key2");//获取请求类的class对象Class<? extends HttpServletRequest> aClass = request.getClass();//获取当前Web应用程序的上下文路径String contextPath = request.getContextPath();//用于获取服务器解析请求时确定的内容类型。String contentType = request.getContentType();//用于获取当前请求的字符编码。它返回一个字符串,表示当前请求使用的字符编码,或者如果字符编码未指定,则返回null。String characterEncoding = request.getCharacterEncoding();//它返回一个Cookie数组,其中包含当前请求的所有Cookie对象。Cookie[] cookies = request.getCookies();//获取请求正文的长度。它返回一个整数,表示请求正文的长度(以字节为单位)。int contentLength = request.getContentLength();//用于获取请求正文的长度。它返回一个长整型,表示请求正文的长度(以字节为单位)。long contentLengthLong = request.getContentLengthLong();//获取请求的调度器类型。它返回一个DispatcherType枚举对象,表示请求的调度器类型,可以是REQUEST、FORWARD、INCLUDE、ASYNC或ERRORDispatcherType dispatcherType = request.getDispatcherType();//用于从HTTP请求头中获取指定名称的日期值。它接受一个字符串参数,表示要获取的HTTP请求头的名称,然后返回该请求头的日期值。long dateHeader = request.getDateHeader("Last-Modified");//返回一个枚举(Enumeration)对象,该对象包含所有HTTP请求头的名称。可以通过遍历该枚举对象来获取每个请求头的名称。Enumeration<String> headerNames = request.getHeaderNames();//获取指定的请求头值String header = request.getHeader("Accept-Encoding");//用于获取客户端发送请求时指定的内容类型String header_ContentType = request.getHeader("Content-Type");//返回一个枚举(Enumeration)对象,该对象包含指定HTTP请求头的所有值。可以通过遍历该枚举对象来获取每个请求头的值。有的请求头可以同时存在多个值Enumeration<String> headers = request.getHeaders("User-Agent");//获取请求的HttpServletMapping对象。HttpServletMapping对象表示请求的URL与Servlet的映射关系。HttpServletMapping httpServletMapping = request.getHttpServletMapping();//获取一个请求头的整数值int intHeader_Content_Length = request.getIntHeader("Content-Length");//用于获取请求的输入流。它返回一个ServletInputStream对象,可以用于读取请求中的数据。例如:读取post请求body中的数据ServletInputStream inputStream = request.getInputStream();//获取服务器的IP地址。这个IP地址是服务器上网络接口的本地地址。String localAddr = request.getLocalAddr();//获取服务器的主机名。这个主机名是服务器上网络接口的本地名称。String localName = request.getLocalName();//返回服务器接收客户端连接的本地端口号。int localPort = request.getLocalPort();//用于获取客户端的首选语言环境。它返回一个Locale对象,表示客户端的首选语言环境。Locale locale = request.getLocale();//用于获取客户端支持的所有语言环境。它返回一个枚举(Enumeration)对象,其中包含客户端支持的所有语言环境。Enumeration<Locale> locales = request.getLocales();//用于获取HTTP请求的方法。它返回一个字符串,表示HTTP请求的方法,例如GET、POST、PUT等。String method = request.getMethod();/*** 用于获取HTTP请求中的指定部分,通常用于处理文件上传等场景。* file就是上传文件对应的key,上传的文件二进制流会被封装进Part对象里面* 在使用getPart()方法之前,需要确保请求中包含指定的部分,否则可能会返回null。* 此外,还需要注意处理文件上传时的文件名编码、文件大小限制等问题,以确保安全和正确处理上传的文件。*/
// Part part = request.getPart("file");//获取HTTP请求中的所有部分,例如上传的文件。它返回一个Collection对象,其中包含表示每个部分的Part对象。
// Collection<Part> parts = request.getParts();//getPathTranslated()方法返回一个字符串,表示对应请求路径在服务器文件系统上的真实路径。它会将相对路径转换为服务器上的绝对路径。String pathTranslated = request.getPathTranslated();//用于获取HTTP请求的协议。它返回一个字符串,表示HTTP请求的协议,例如HTTP/1.1String protocol = request.getProtocol();//用于获取请求参数的映射。它返回一个Map对象,其中包含请求参数的名称和对应的值。Map<String, String[]> parameterMap = request.getParameterMap();//用于获取请求参数的名称。它返回一个枚举(Enumeration)对象,其中包含请求参数的名称。Enumeration<String> parameterNames = request.getParameterNames();//用于获取请求参数的值。它接受一个字符串参数,表示要获取的参数的名称,然后返回一个字符串数组,包含该参数的所有值。String[] parameterValues = request.getParameterValues("car");//用于获取请求的附加路径信息。它返回一个字符串,表示请求的附加路径信息。String pathInfo = request.getPathInfo();//用于获取请求参数的值。它接受一个字符串参数,表示要获取的参数的名称,然后返回该参数的值。String parameter_car = request.getParameter("car");//用于获取请求参数的值。它接受一个字符串参数,表示要获取的参数的名称,然后返回该参数的值。String parameter_name = request.getParameter("name");//获取路径uri后面拼接的所有参数键值对,也称作请求的查询字符串,也就是?后面拼接的所有参数String queryString = request.getQueryString();//用于获取与当前请求关联的已验证用户的名称。它返回一个字符串,表示发起请求的用户的名称,或者如果用户未经过身份验证,则返回null。String remoteUser = request.getRemoteUser();//用于获取客户端请求中所包含的会话ID。它返回一个字符串,表示会话ID,或者如果请求中不包含会话ID,则返回null。String requestedSessionId = request.getRequestedSessionId();//将相对路径转为服务器上面的绝对路径String realPath = request.getRealPath("/msdev/dongYaBank/request_Test.jsp");//返回客户端的IP地址,即客户端的网络地址String remoteAddr = request.getRemoteAddr();//返回客户端的主机名,即客户端的计算机名。String remoteHost = request.getRemoteHost();//返回客户端连接的端口号。int remotePort = request.getRemotePort();//用于获取请求的URI(统一资源标识符)。它返回一个字符串,表示请求的URI。String requestURI = request.getRequestURI();//用于获取请求的URL(统一资源定位器)。它返回一个StringBuffer对象,表示请求的URL。// URL是URI的子集,uri只是端口后面的路径且不包括任何参数,url包括协议后面的一切StringBuffer requestURL = request.getRequestURL();//用于获取请求的字符输入流。它返回一个BufferedReader对象,可以用于读取请求中的字符数据。
// BufferedReader reader = request.getReader();//用于获取请求的转发器(RequestDispatcher)。转发器用于将请求转发到其他资源,例如Servlet、JSP或其他Web组件。RequestDispatcher requestDispatcher = request.getRequestDispatcher("/index.html");//获取当前请求的session会话HttpSession session_1 = request.getSession();//用于获取Servlet上下文对象(ServletContext)。Servlet上下文对象是在Web应用程序级别共享的对象,用于在不同的Servlet和JSP之间共享数据和资源。ServletContext servletContext = request.getServletContext();//用于获取服务器的主机名(hostname)。它返回一个字符串,表示服务器的主机名。String serverName = request.getServerName();//返回服务器运行的端口号。int serverPort = request.getServerPort();//用于获取请求的协议方案(scheme)。它返回一个字符串,表示请求的协议方案,例如http、https等。String scheme = request.getScheme();//用于获取请求的Servlet路径。它返回一个字符串,表示请求的Servlet路径。String servletPath = request.getServletPath();//用于获取HTTP请求的尾部字段(Trailer Fields)。尾部字段是在HTTP请求的尾部包含的一些附加字段,用于提供额外的请求信息。//尾部字段通常在使用Transfer-Encoding为chunked的情况下使用。Map<String, String> trailerFields = request.getTrailerFields();//用于获取HTTP请求的用户主体(User Principal)。用户主体表示当前请求的用户身份信息,通常用于进行身份验证和授权。// 它返回一个Principal对象,表示用户主体。Principal userPrincipal = request.getUserPrincipal();%>
authType=:<%=authType%></br>
<%--asyncContext=:<%=asyncContext.toString()%></br>--%>
attributeNames=:<%=getEnumerationList(attributeNames,String.class)%></br>
attribute1=:<%=attribute1%></br>
attribute2=:<%=attribute2%></br>
aClass=:<%=aClass%></br>
contextPath=:<%=contextPath%></br>
contentType=:<%=contentType%></br>
characterEncoding=:<%=characterEncoding%></br>
cookies=:<%=printCookies(cookies)%></br>
contentLength=:<%=contentLength%></br>
contentLengthLong=:<%=contentLengthLong%></br>
dispatcherType=:<%=dispatcherType%></br>
dateHeader=:<%=dateHeader%></br>
headerNames=:<%=getEnumerationList(headerNames,String.class)%></br>
header=:<%=header%></br>
header_ContentType=:<%=header_ContentType%></br>
headers=:<%=getEnumerationList(headers,String.class)%></br>
httpServletMapping=:<%=printHttpServletMapping(httpServletMapping)%></br>
intHeader_Content_Length=:<%=intHeader_Content_Length%></br>
inputStream=:<%=inputStream%></br>
localAddr=:<%=localAddr%></br>
localName=:<%=localName%></br>
localPort=:<%=localPort%></br>
locale=:<%=locale%></br>
locales=:<%=getEnumerationList(locales,Locale.class)%></br>
method=:<%=method%></br>
<%--part=:<%=part%></br>--%>
<%--parts=:<%=parts%></br>--%>
pathTranslated=:<%=pathTranslated%></br>
protocol=:<%=protocol%></br>
parameterMap=:<%=printParameterMap(parameterMap)%></br>
parameterNames=:<%=getEnumerationList(parameterNames,String.class)%></br>
parameterValues=:<%=Arrays.toString(parameterValues)%></br>
pathInfo=:<%=pathInfo%></br>
parameter_car=:<%=parameter_car%></br>
parameter_name=:<%=parameter_name%></br>
queryString=:<%=URLDecoder.decode(queryString)%></br>
remoteUser=:<%=remoteUser%></br>
requestedSessionId=:<%=requestedSessionId%></br>
realPath=:<%=realPath%></br>
remoteAddr=:<%=remoteAddr%></br>
remoteHost=:<%=remoteHost%></br>
remotePort=:<%=remotePort%></br>
requestURI=:<%=requestURI%></br>
requestURL=:<%=requestURL%></br>
<%--reader=:<%=reader%></br>--%>
requestDispatcher=:<%=requestDispatcher%></br>
session_1=:<%=session_1%></br>
servletContext=:<%=servletContext%></br>
serverName=:<%=serverName%></br>
serverPort=:<%=serverPort%></br>
scheme=:<%=scheme%></br>
servletPath=:<%=servletPath%></br>
trailerFields=:<%=trailerFields%></br>
userPrincipal=:<%=userPrincipal%></br><%!/*** 打印parameterMap** @param parameterMap 路径携带的参数键值对* @return void* @author LiuMingFu* @date 2023/10/15*/public List<Map<String, Object>> printParameterMap(Map<String, String[]> parameterMap) {List<Map<String, Object>> resultData = new LinkedList<>();for (Map.Entry<String, String[]> stringEntry : parameterMap.entrySet()) {Map<String,Object> one = new LinkedHashMap<>();one.put("key",stringEntry.getKey());one.put("value",Arrays.toString(stringEntry.getValue()));one.put("class",stringEntry.getClass());resultData.add(one);}return resultData;}/*** 打印httpServletMapping** @param httpServletMapping servlet映射对象* @return void* @author LiuMingFu* @date 2023/10/15*/public Map<String, Object> printHttpServletMapping(HttpServletMapping httpServletMapping) {Map<String,Object> resultData = new HashMap<>();resultData.put("matchValue",httpServletMapping.getMatchValue());resultData.put("servletName",httpServletMapping.getServletName());resultData.put("pattern",httpServletMapping.getPattern());resultData.put("class",httpServletMapping.getClass());resultData.put("mappingMatch",httpServletMapping.getMappingMatch());return resultData;}/*** 遍历打印cookie数组** @param cookies cookie数组* @return void* @author LiuMingFu* @date 2023/10/15*/public List<Map<String, Object>> printCookies(Cookie[] cookies) {List<Map<String, Object>> resultData = new LinkedList<>();for (Cookie cookie : cookies) {Map<String, Object> map = new HashMap<>();map.put("name", cookie.getName());map.put("value", cookie.getValue());map.put("comment", cookie.getComment());map.put("domain", cookie.getDomain());map.put("path", cookie.getPath());map.put("maxAge", cookie.getMaxAge());map.put("secure", cookie.getSecure());map.put("class", cookie.getClass());map.put("version", cookie.getVersion());resultData.add(map);}return resultData;}public <T> List<T> getEnumerationList(Enumeration<T> parameterNames, Class<T> targetType) {List<T> resultData = new LinkedList<>();while (parameterNames.hasMoreElements()) {//获取下一个元素Object element = parameterNames.nextElement();if (targetType.isInstance(element)) {resultData.add(targetType.cast(element));}}return resultData;}%>
</body>
</html>
五·浏览器发起一个GET请求结果示例:
1.GET请求示例:
http://localhost:8080/bookshop_22/msdev/dongYaBank/request_Test.jsp?name=ideal&age=24&job=Java开发工程师&car=问界M7&car=比亚迪仰光&car=五菱宏光
2.GET请求响应结果:文本以及截图
authType=:null
attributeNames=:[key1, key2]
attribute1=:张三
attribute2=:李四
aClass=:class org.apache.catalina.connector.RequestFacade
contextPath=:/bookshop_22
contentType=:null
characterEncoding=:UTF-8
cookies=:[{path=null, maxAge=-1, domain=null, name=JSESSIONID, comment=null, secure=false, value=5912481EAC59D7CB07FC54AA4CEAC973, class=class jakarta.servlet.http.Cookie, version=0}, {path=null, maxAge=-1, domain=null, name=Idea-3b4ddd5e, comment=null, secure=false, value=a8522174-dd13-43ad-9a5e-6546ef665637, class=class jakarta.servlet.http.Cookie, version=0}]
contentLength=:-1
contentLengthLong=:-1
dispatcherType=:REQUEST
dateHeader=:-1
headerNames=:[host, connection, cache-control, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-user, sec-fetch-dest, accept-encoding, accept-language, cookie]
header=:gzip, deflate, br
header_ContentType=:null
headers=:[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36]
httpServletMapping=:{mappingMatch=EXTENSION, pattern=*.jsp, matchValue=msdev/dongYaBank/request_Test, servletName=jsp, class=class org.apache.catalina.core.ApplicationMapping$MappingImpl}
intHeader_Content_Length=:-1
inputStream=:org.apache.catalina.connector.CoyoteInputStream@2e3656be
localAddr=:0:0:0:0:0:0:0:1
localName=:localhost
localPort=:8080
locale=:zh_CN
locales=:[zh_CN, zh, en]
method=:GET
pathTranslated=:null
protocol=:HTTP/1.1
parameterMap=:[{key=name, value=[ideal], class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=age, value=[24], class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=job, value=[Java开发工程师], class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=car, value=[问界M7, 比亚迪仰光, 五菱宏光], class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}]
parameterNames=:[name, age, job, car]
parameterValues=:[问界M7, 比亚迪仰光, 五菱宏光]
pathInfo=:null
parameter_car=:问界M7
parameter_name=:ideal
queryString=:name=ideal&age=24&job=Java开发工程师&car=问界M7&car=比亚迪仰光&car=五菱宏光
remoteUser=:null
requestedSessionId=:5912481EAC59D7CB07FC54AA4CEAC973
realPath=:/Users/ideal/私人文件夹/JavaProjects/Javaweb基础练习/尚硅谷书城项目/bookshop_22/out/artifacts/bookshop_22_war_exploded/msdev/dongYaBank/request_Test.jsp
remoteAddr=:0:0:0:0:0:0:0:1
remoteHost=:0:0:0:0:0:0:0:1
remotePort=:65325
requestURI=:/bookshop_22/msdev/dongYaBank/request_Test.jsp
requestURL=:http://localhost:8080/bookshop_22/msdev/dongYaBank/request_Test.jsp
requestDispatcher=:org.apache.catalina.core.ApplicationDispatcher@3c2b66ee
session_1=:org.apache.catalina.session.StandardSessionFacade@b6f8fd1
servletContext=:org.apache.catalina.core.ApplicationContextFacade@58672f7d
serverName=:localhost
serverPort=:8080
scheme=:http
servletPath=:/msdev/dongYaBank/request_Test.jsp
trailerFields=:{}
userPrincipal=:null
六·Postman发起一个POST请求结果示例:
1.POST请求示例:
2.POST请求响应结果:文本以及截图
<html><head><title>Title</title>
</head><body>authType=:null</br>attributeNames=:[key1, key2]</br>attribute1=:张三</br>attribute2=:李四</br>aClass=:class org.apache.catalina.connector.RequestFacade</br>contextPath=:/bookshop_22</br>contentType=:application/xml</br>characterEncoding=:UTF-8</br>cookies=:[{path=null, maxAge=-1, domain=null, name=JSESSIONID, comment=null, secure=false,value=DA6AACA99B25F1C78FB7CA19D32A9559, class=class jakarta.servlet.http.Cookie, version=0}]</br>contentLength=:0</br>contentLengthLong=:0</br>dispatcherType=:REQUEST</br>dateHeader=:-1</br>headerNames=:[ms-token, content-type, user-agent, accept, cache-control, postman-token, host, accept-encoding,connection, cookie, content-length]</br>header=:gzip, deflate, br</br>header_ContentType=:application/xml</br>headers=:[PostmanRuntime/7.33.0]</br>httpServletMapping=:{mappingMatch=EXTENSION, pattern=*.jsp, matchValue=msdev/dongYaBank/request_Test,servletName=jsp, class=class org.apache.catalina.core.ApplicationMapping$MappingImpl}</br>intHeader_Content_Length=:0</br>inputStream=:org.apache.catalina.connector.CoyoteInputStream@48eb975b</br>localAddr=:0:0:0:0:0:0:0:1</br>localName=:localhost</br>localPort=:8080</br>locale=:zh_CN</br>locales=:[zh_CN]</br>method=:POST</br>pathTranslated=:null</br>protocol=:HTTP/1.1</br>parameterMap=:[{key=name, value=[ideal], class=classjava.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=age, value=[24], class=classjava.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=job, value=[Java开发工程师],class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}, {key=car, value=[问界M7,比亚迪仰光, 五菱宏光], class=class java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry}]</br>parameterNames=:[name, age, job, car]</br>parameterValues=:[问界M7, 比亚迪仰光, 五菱宏光]</br>pathInfo=:null</br>parameter_car=:问界M7</br>parameter_name=:ideal</br>queryString=:name=ideal&age=24&job=Java开发工程师&car=问界M7&car=比亚迪仰光&car=五菱宏光</br>remoteUser=:null</br>requestedSessionId=:DA6AACA99B25F1C78FB7CA19D32A9559</br>realPath=:/Users/ideal/私人文件夹/JavaProjects/Javaweb基础练习/尚硅谷书城项目/bookshop_22/out/artifacts/bookshop_22_war_exploded/msdev/dongYaBank/request_Test.jsp</br>remoteAddr=:0:0:0:0:0:0:0:1</br>remoteHost=:0:0:0:0:0:0:0:1</br>remotePort=:51562</br>requestURI=:/bookshop_22/msdev/dongYaBank/request_Test.jsp</br>requestURL=:http://localhost:8080/bookshop_22/msdev/dongYaBank/request_Test.jsp</br>requestDispatcher=:org.apache.catalina.core.ApplicationDispatcher@1a332a1b</br>session_1=:org.apache.catalina.session.StandardSessionFacade@1328a40f</br>servletContext=:org.apache.catalina.core.ApplicationContextFacade@58672f7d</br>serverName=:localhost</br>serverPort=:8080</br>scheme=:http</br>servletPath=:/msdev/dongYaBank/request_Test.jsp</br>trailerFields=:{}</br>userPrincipal=:null</br></body></html>
相关文章:
总结:JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例
总结:JavaEE的Servlet中HttpServletRequest请求对象调用各种API方法结果示例 一方法调用顺序是按照英文字母顺序从A-Z二该示例可以用作servlet中request的API参考,从而知道该如何获取哪些路径参数等等三Servlet的API版本5.0.0、JSP的API版本:…...
ChatGPT AIGC 完成Excel跨多表查找操作vlookup+indirect
VLOOKUP和INDIRECT的组合在Excel中用于跨表查询,其中VLOOKUP函数用于在另一张表中查找数据,INDIRECT函数则用于根据文本字符串引用不同的工作表。具体操作如下: 1.假设在工作表1中,A列有你要查找的值,B列是你希望查询的工作表名称。 2.在工作表1的C列输入以下公式:=VLO…...
Linux系统conda虚拟环境离线迁移移植
本人创建的conda虚拟环境名为yys(每个人的虚拟环境名不一样,替换下就行) 以下为迁移步骤: 1.安装打包工具将虚拟环境打包: conda install conda-pack conda pack -n yys -o yys.tar.gz 2.将yys.tar.gz上传到服务器&…...
Vue16 绑定css样式 style样式
绑定样式: 1. class样式写法:class"xxx" xxx可以是字符串、对象、数组。字符串写法适用于:类名不确定,要动态获取。对象写法适用于:要绑定多个样式,个数不确定,名字也不确定。数组写法适用于&…...
[Spring] SpringMVC 简介(三)
目录 九、SpringMVC 中的 AJAX 请求 1、简单示例 2、RequestBody(重点关注“赋值形式”) 3、ResponseBody(经常用) 4、为什么不用手动接收 JSON 字符串、转换 JSON 字符串 5、RestController 十、文件上传与下载 1、Respo…...
kettle应用-从数据库抽取数据到excel
本文介绍使用kettle从postgresql数据库中抽取数据到excel中。 首先,启动kettle 如果kettle部署在windows系统,双击运行spoon.bat或者在命令行运行spoon.bat 如果kettle部署在linux系统,需要执行如下命令启动 chmod x spoon.sh nohup ./sp…...
Git Commit Message规范
概述 Git commit message规范是一种良好的实践,可以帮助开发团队更好地理解和维护代码库的历史记录。它可以提高代码质量、可读性和可维护性。下面是一种常见的Git commit message规范,通常被称为"Conventional Commits"规范: 一…...
Linux网络编程系列之UDP广播
Linux网络编程系列 (够吃,管饱) 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…...
spring中事务相关面试题(自用)
1 什么是spring事务 Spring事务管理的实现原理是基于AOP(面向切面编程)和代理模式。Spring提供了两种主要的方式来管理事务:编程式事务管理和声明式事务管理。 声明式事务管理: Spring的声明式事务管理是通过使用注解或XML配置来…...
09 | JpaSpecificationExecutor 解决了哪些问题
QueryByExampleExecutor用法 QueryByExampleExecutor(QBE)是一种用户友好的查询技术,具有简单的接口,它允许动态查询创建,并且不需要编写包含字段名称的查询。 下面是一个 UML 图,你可以看到 QueryByExam…...
Linux命令(93)之su
linux命令之su 1.su介绍 linux命令su用于变更为其它使用者的身份,如root用户外,需要输入使用者的密码 2.su用法 su [参数] user su参数 参数说明-c <command>执行指定的命令,然后切换回原用户-切换到目标用户的环境变量 3.实例 3…...
1.HTML-HTML解决中文乱码问题
题记 下面是html文件解决中文乱码的方法 方法一 在 HTML 文件的 <head> 标签中添加 <meta charset"UTF-8">,确保文件以 UTF-8 编码保存 <head> <meta charset"UTF-8"> <!-- 其他标签和内容 --> </head> --…...
Vue3 + Nodejs 实战 ,文件上传项目--实现拖拽上传
目录 1.拖拽上传的剖析 input的file默认拖动 让其他的盒子成为拖拽对象 2.处理文件的上传 处理数据 上传文件的函数 兼顾点击事件 渲染已处理过的文件 测试效果 3.总结 博客主页:専心_前端,javascript,mysql-CSDN博客 系列专栏:vue3nodejs 实战-…...
Windows:VS Code IDE安装ESP-IDF【保姆级】
物联网开发学习笔记——目录索引 参考: VS Code官网:Visual Studio Code - Code Editing. Redefined 乐鑫官网:ESP-IDF 编程指南 - ESP32 VSCode ESP-ID Extension Install 一、前提条件 Visual Studio Code IDE安装ESP-IDF扩展…...
Hadoop3教程(十一):MapReduce的详细工作流程
文章目录 (94)MR工作流程Map阶段Reduce阶段 参考文献 (94)MR工作流程 本小节将展示一下整个MapReduce的全工作流程。 Map阶段 首先是Map阶段: 首先,我们有一个待处理文本文件的集合; 客户端…...
测试中Android与IOS分别关注的点
目录 1、自身不同点 2、测试注重点 3、其他测试点 主要从本身系统的不同点、系统造成的不同点、和注意的测试点做总结 1、自身不同点 研发商:Adroid是google公司做的手机系统,IOS是苹果公司做的手机系统 开源程度:Android是开源的&a…...
NLG(自然语言生成)评估指标介绍
诸神缄默不语-个人CSDN博文目录 本文介绍自然语言生成任务中的各种评估指标。 因为我是之前做文本摘要才接触到这一部分内容的,所以本文也是文本摘要中心。 持续更新。 文章目录 1. 常用术语2. ROUGE (Recall Oriented Understudy for Gisting Evaluation)1. 计算…...
苍穹外卖(七) Spring Task 完成订单状态定时处理
Spring Task 完成订单状态定时处理, 如处理支付超时订单 Spring Task介绍 Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 应用场景: 信用卡每月还款提醒 火车票售票系统处理未支付订单 入职纪念日为用户发送通知 点外…...
【探索Linux】—— 强大的命令行工具 P.11(基础IO,文件操作)
阅读导航 前言一、C语言的文件操作二、C的文件操作三、Linux系统文件操作(I/O接口)1. open()⭕传入多个打开方式(按位或操作将不同的标志位组合在一起) 2. write()3. read()4. close()5. lseek() 温馨提示 前言 前面我们讲了C语言…...
前端练习项目(附带页面psd图片及react源代码)
一、前言 相信很多学完前端的小伙伴都想找个前端项目练练手,检测自己的学习成果。但是现在很多项目市面上都烂大街了。今天给大家推荐一个全新的项目——电子校园 项目位置:https://github.com/v5201314/eSchool 二、项目介绍(部分页面展示)ÿ…...
【从零开始学习Redis | 第三篇】在Java中操作Redis
前言: 本文算是一期番外,介绍一下如何在Java中使用Reids ,而其实基于Java我们有很多的开源框架可以用来操作redis,而我们今天选择介绍的是其中比较常用的一款:Spring Data Redis 目录 前言: Spring Data…...
vim、gcc/g++、make/Makefile、yum、gdb
vim、gcc/g、make/Makefile、yum、gdb 一、Linux编辑器vim1、简介2、三种模式的概念(1)正常/普通/命令模式(Normal mode)(2)插入模式(Insert mode)(3)末行/底行模式(last line mode) 3、三种模式的切换4、正…...
2022最新版-李宏毅机器学习深度学习课程-P13 局部最小值与鞍点
一、优化失败的原因 局部最小值?鞍点? 二、数学推导分析 用泰勒公式展开 一项与梯度(L的一阶导)有关,一项与海赛矩阵(L的二阶导)有关 海瑟矩阵 VTHV通过海瑟矩阵的性质可以转为判断H是否是正…...
ARM架构的基本知识
ARM两种授权 体系结构授权, 一种硬件规范, 用来约定指令集, 芯片内部体系结构(内存管理, 高速缓存管理), 只约定每一条指令的格式, 行为规范, 参数, 客户根据这个规范自行设计与之兼容的处理器处理IP授权, ARM公司根据某个版本的体系结构设计处理器, 再把处理器设计方案授权给…...
网络安全(黑客技术)——如何高效自学
前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学?如何学? 今天给大家分享一下,很多人上来就说想学习黑客,…...
云原生场景下高可用架构的最佳实践
作者:刘佳旭(花名:佳旭),阿里云容器服务技术专家 引言 随着云原生技术的快速发展以及在企业 IT 领域的深入应用,云原生场景下的高可用架构,对于企业服务的可用性、稳定性、安全性越发重要。通…...
图论-最短路径算法-弗洛伊德算法与迪杰斯特拉算法
弗洛伊德算法: 弗洛伊德算法本质是动态规划,通过添加点进如可选择的点组成的集合的同时更新所有点之间的距离,从而得到每两个点之间的最短距离。 初始化: 创建一个二维数组 dist,其中 dist[i][j] 表示从节点 i 到节点…...
[23] IPDreamer: Appearance-Controllable 3D Object Generation with Image Prompts
pdf Text-to-3D任务中,对3D模型外观的控制不强,本文提出IPDreamer来解决该问题。在NeRF Training阶段,IPDreamer根据文本用ControlNet生成参考图,并将参考图作为Zero 1-to-3的控制条件,用基于Zero 1-to-3的SDS损失生成…...
深入理解React中的useEffect钩子函数
引言: React是一种流行的JavaScript库,它通过组件化和声明式编程的方式简化了前端开发。在React中,一个核心概念是组件的生命周期,其中包含了许多钩子函数,用于管理组件的不同阶段。其中之一就是useEffect钩子函数&…...
数字化时代的财务管理:挑战与机遇
导语:随着数字化技术的不断发展,财务管理正面临着前所未有的挑战和机遇。数字化不仅改变了财务数据的收集、处理和分析方式,还为财务决策提供了更多的依据和方向。本文将探讨数字化时代财务管理的新特点,以及如何利用数字化技术提…...
自己的域名怎么做网站/现在最好的营销方式
我先贴出最终转换的代码,再来进行一步一步的介绍: /*** 将int数值转换为占四个字节的byte数组** param value 要转换的int值* return byte数组*/ public static byte[] intToBytes(int value ) {byte[] src new byte[4];src[0] (byte) (value & …...
襄阳专业做网站/东莞今日头条新闻
unset($data[captcha]);转载于:https://www.cnblogs.com/junyi-bk/p/10814920.html...
建大型购物网站/建站公司
环境安装 想要使用jni进行ndk开发,我们首先要安装下面这些工具,否则直接从入门到放弃。 下载ndk支持 在Android studio中下载上图中框选的两个工具,版本号自己任意选一个。下载完成之后,Android Studio就拥有了进行ndk编译的能力…...
南宁网站推广手段/山东今日热搜
不能用等号判断两个小数是否相等 极理想情况下,判断两个实数 a 和 b 相等,这里不妨将两个数分别定义为double型,1.0000001 和 1.0 这两个数在绝大多数的情况下,认为它们是相等的,所以经常能看到如下的 C 或者 C 代码 i…...
c 做精品课程网站/网站推广的常用方法
11.27PMP考试倒计时 13天 每日5道PMP习题助大家上岸PMP! 题目1-2: 1.敏捷项目中,项目经理收集了各种数据,并整合项目现状,项目经理发现,团队的生产力存在解怠,每人完成的开发任务数量减…...
做美食软件视频网站/在百度怎么发布作品
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。2、Get将表单中数据的按照variablevalue的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单…...