- Selenium学习笔记--Webdriver API 2--常用方法
jiang_guo
自动化测试笔记selenium
Webdriver重用方法浏览器控制控制浏览器窗口大小控制浏览器后退、前进切换标签页(窗口切换)switch方法获取url使用get方法模拟浏览器刷新关闭浏览器常用方法clearsend_keysclicksubmitsizetextget_attributeis_displayedtitlecurrent_url鼠标操作键盘操作元素等待显示等待隐式等待切换iframe单表单切换嵌套表单切换平行表
- def __init__(self)是什么意思_通俗的告诉你Python中 init_ 到底是什么含义?
cjz0422
python
Python是面向对象的编程语言,因此我从Class、Instance以及属性(property/attribute)的角度出发解释。_init_根据其英文意思(initialize),用来初始化一个类(class)的新成员(instance),它是一个constructor.当新成员被创建时,这个方程会自动被调用。举个栗子1,使用_init_方程我们创建了一个叫做“人类”(Person)的类别,
- python2 中使用pip2 install package_name的时候报错:AttributeError: ‘int‘ object has no attribute ‘endswith‘
点亮~黑夜
16—各种错误和bug(你的痛我的痛痛痛痛)python
文章目录1错误说明2错误解决方式1错误说明1、在python2的环境下使用pip2install安装库包的时候报错:AttributeError:'int'objecthasnoattribute'endswith'2、具体报错信息如下(base)shl@zhihui-mint:~/tools$pip2installpyquaternionException:Traceback(mostrecen
- Python 3.12安装库报错
m0_47156047
python开发语言
报错如下:AttributeError:module'pkgutil'hasnoattribute'ImpImporter'.Didyoumean:'zipimporter'?这是因为Python3.12移除了对pkgutil.ImpImporter的支持,而某些库(例如setuptools或numpy的旧版本)依赖于旧的导入机制。解决方案1.降级到兼容的Python版本numpy和一些旧的依赖库
- 架构设计(6)软件质量属性与架构评估方法ATAM与CBAM
CoderIsArt
架构设计研究架构软件质量属性架构评估
软件质量属性系统质量属性(QualityAttributes)是指系统设计和架构中具有的关键非功能性特征。这些属性直接影响系统的性能、可用性、安全性等方面,是评估和设计系统架构的重要考虑因素。下面详细介绍系统质量属性及其在架构评估中的作用。###系统质量属性1.**性能(Performance)**-**定义**:系统在给定的资源和条件下处理请求和任务的能力。-**子属性**:-**响应时间**:
- flutter 使用webview_flutter出现‘android.view.ViewRootImpl.mWindowAttributes‘ on a null object reference
Sun_jinglun
flutter问题汇总flutterandroidwebview
问题描述:使用webview_flutter加载h5页面,对指定的页面地址进行拦截并跳转到新的page。跳转后出现如下错误信息:分析解决:发现两个页面所使用的Androidwebview并不是同一个page1:page2:修改为同一个后解决了这个问题。注:这个问题在Android设备没有出现,只出现在了HarmonyOS设备上。
- pip 安装 numpy 报错 AttributeError: module ‘pkgutil‘ has no attribute ‘ImpImporter‘
小郎碎碎念
我恨BUGLinux运维pipnumpypython
conda环境下pip安装numpy1.x版本,报如下错误File"C:\Users\UserName\AppData\Local\Temp\pip-build-env-_lgbq70y\overlay\Lib\site-packages\pkg_resources\__init__.py",line2191,inregister_finder(pkgutil.ImpImporter,find_o
- 小曾WRF自学日记(4)渐入佳境 ——WRF实例-运行WRF
ZzYH22
单例模式
WRF的运行进入WRF/run文件夹,修改namelist.input首先在WPS文件夹下,使用命令ncdump-hmet_em.d01.2018-05-04_12:00:00.nc查看最后的globalattributes部分。//globalattributes::TITLE="OUTPUTFROMMETGRIDV4.0";:SIMULATION_START_DATE="2018-05-04_
- No thread-bound request found: Are you referring to request attributes outside of an actual web requ
SUDO-1
javajava
Nothread-boundrequestfound:Areyoureferringtorequestattributesoutsideofanactualwebrequest,orprocessingarequestoutsideoftheoriginallyreceivingthread?Ifyouareactuallyoperatingwithinawebrequestandstillrec
- 【win11】amd全大核CPU调度异常,或inter大小核自定义调度配置
东哥他爸
windows
前言台式机一般使用高性能,笔记本一般是平衡或oem提供的电源选项不建议修改选项,但在内部很多设置被隐藏了,需要手动打开隐藏的设置惠普战99为例驱动装完了以后默认设置都大小核,但CPU是AMD锐龙7系列所以是全大核,需要进行调整,命令如下:CPU核心调度配置管理员运行CMD命令行输入如下命令:生效的异类策略powercfg-attributesSUB_PROCESSOR7f2f5cfa-f10c-4
- fastapi 请求体 成员变量不被识别
m0_75101866
pythonfastapi
问题写了一个pydantic模型:classrequestPostBody(BaseModel):name1:strname2:str_name3:dict访问/docs时,不显示_name3的参数,在请求体添加_name3也出错raiseAttributeError(f'{type(self).__name__!r}objecthasnoattribute{item!r}')fromexcAtt
- JS在HTML页面内动态创建SVG元素
一粒马豆
html5JavaScript数据可视化SVGJSD3WEB
最近在学习数据可视化,深入了解了如何在网页上实现数据的动态可视化。比如D3.JS主要应用JS在HTML页面内动态生成SVG元素并绑定数据。以下是我的例程://通过createElementNS创建svg元素并设置属性varsvg=document.createElementNS('http://www.w3.org/2000/svg','svg');svg.setAttribute("style"
- 数据库基础知识:理论、E-R图、事务、原则
地信小学生
数据库数据库ubuntupostgresql
(5)数据库理论与E-R图数据库理论(DatabaseTheory)是在创建数据库的过程涉及创建现实世界的抽象模型;将现实世界的概念作为实体表示在数据库中。E-R图(EntityRelationshipDiagramming)用于表示数据模型的图形工具/关系的抽象,主要用于数据库设计阶段,通过实体(Entity)、属性(Attribute)和关系(Relationship)来描述数据之间的结构和联
- 虚拟DOM
是三好
web补充javascript前端开发语言
一、DOM1、DOM的基本概念DOM将网页的结构表示为一个树形结构,其中每个元素、属性和文本都被表示为树中的一个节点。文档节点(DocumentNode):树的根节点,代表整个HTML文档。元素节点(ElementNode):代表HTML元素,例如、、等。属性节点(AttributeNode):代表HTML元素的属性,例如id、class、href等。文本节点(TextNode):代表HTML元素
- QT窗口销毁方式
不许歪叽
c++qtui
setAttribute(Qt::WA_DeleteOnClose);然后在执行close()后,等待一会就会销毁对象close();然后执行QWidget的protected函数destroy()会销毁对象close():使用QObject的deleteLater()函数;我目前知道的有这些,有知道其他更多的小伙伴可以追加哦
- ESP32开发日记5-蓝牙的应用①
我在武汉上早八
笔记单片机linux物联网mcu
ESP32开发日记5-蓝牙的应用①前情提要蓝牙简介蓝牙的两种主要模式GATT协议(GenericAttributeProfile1.什么是GATT?2.GATT的角色3.GATT的层次结构4.GATT操作5.GATT通信过程1)连接阶段2)服务发现3)数据操作4)断开阶段6.GATT的层级结构GATT示例:心率监测GATT服务器(心率设备)GATT客户端(手机应用)阅读乐鑫官方提供的例程总结前情提
- 机器学习问题:AttributeError: ‘NoneType‘ object has no attribute ‘split‘ 解决办法
零零鲎
机器学习人工智能
参考博客:本次博客参考http://t.csdnimg.cn/8E7eH。写下来主要是为了整理自己在学习过程中遇到的问题并把解决办法列出来。学习内容:如果运行出现:AttributeError:‘NoneType’objecthasnoattribute'split’这样的问题。网上有很多解决办法是降级numpy到1.21.4。然后上面博客给出的解决方案是升级threadpoolctl。可以使用命
- C# 特性(Attributes)详解
one996
c#.net
C#特性(Attributes)详解什么是特性?特性(Attributes)是C#提供的一种强大的元数据机制,用于在代码中添加描述性信息。它可以附加到程序的各种部分(类、方法、属性、字段等),供运行时或编译时使用。常见用途标注元数据为代码元素提供额外的信息。例如[Obsolete]特性提示某个方法已过时。控制行为特性可以影响代码的执行逻辑或框架的行为。例如[HttpGet]告知ASP.NETCor
- Spring Boot & MyBatis Plus 版本兼容问题(记录)
michael.csdn
springbootmybatisplus后端
SpringBoot&MyBatisPlus版本兼容问题(Invalidvaluetypeforattribute'factoryBeanObjectType':java.lang.String)问题描述问题排查1.检查`@MapperScan`的路径2.项目中没有配置`FactoryBean`3.检查`Spring`和`MyBatisPlus`版本兼容性解决方法问题描述当使用spring-boo
- WPF快速入门3——XAML对象属性赋值
阿卡蒂奥
WPFWPF
对象属性赋值1、Attribute=Value形式优点:赋值方便。缺点:Value为字符串,但是对象属性未必是字符串,因此无法赋太复杂的值。示例:绘制一个矩形,填充颜色并设置圆角;绘制一个路径,将路径闭合并填充颜色;效果如图所示:2、属性标签优点:可以为对象属性赋较为复杂的值。缺点:程序量大(因此在允许条件下可部分采用Attribute=Value形式,或使用属性默认值)。示例:在按钮对象上绘制一
- AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘
Mad Soycat
常见BUG详见数据仓库大数据运维centoslinux
AttributeError:‘NoneType‘objecthasnoattribute‘xxx‘错误分析:AttributeError:'NoneType'objecthasnoattribute'xxx'AttributeError:'NoneType'objecthasnoattribute'xxx'错误通常出现在Python中,表示你尝试访问一个NoneType对象的属性或方法,但Non
- ‘urllib‘ has no attribute ‘urlencode‘
计算机辅助工程
linux运维服务器
报错解释:在Python3.x中,urllib库已经被分解为几个子模块,urllib.parse中包含了urlencode函数,用于将字典或者字节序列转换为URL编码的查询字符串。但是在Python3.x中直接使用urllib.urlencode()会导致这个错误,因为urllib模块中不存在urlencode这个属性。解决方法:你需要从urllib.parse模块中导入urlencode函数,并
- vscode accelerate deepspeed配置
Ctrl_Cver
vscodeide编辑器
accelerate训练{//UseIntelliSensetolearnaboutpossibleattributes.//Hovertoviewdescriptionsofexistingattributes.//Formoreinformation,visit:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","c
- tf.function-> AttributeError: ‘double‘ object has no attribute ‘shape‘
乔宇同学
学习tensorflow
跑tensorflow时出现的bug,不使用tf.function没问题,一旦挂上装饰符,就报错,报错内容如下:Traceback(mostrecentcalllast):File"D:\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow_core\python\eager\function.py",line111,in_make_inp
- y_t_rank = len(y_t.shape.as_list()) AttributeError: ‘tuple‘ object has no attribute ‘shape‘’
专业混水
tensorflowpythontensorflow深度学习anaconda
在model.fit()的时候遇到了如下问题:Epoch1/400Traceback(mostrecentcalllast):File"F:/code/MYSTUDY/MODEL_version0.0/comparsion/trainST.py",line234,inmain()File"F:/code/MYSTUDY/MODEL_version0.0/comparsion/trainST.py"
- Vue中常见问题汇总及解决方案(三)
小刘哥007
Vue实战vue.js前端javascript
目录the“scope”attributeforscopedslots….replacedby“slot-scope”since2.5UncaughtReferenceError:Vueisnotdefined!ERRORinstatic/js/xxxxxxx.jsfromUglifyJsprops不使用:(v-bind)可以传递值么!UncaughtTypeError:Cannotsetprop
- 【python】成功解决AttributeError: ‘Tuple’ object has no attribute ‘shape’
云天徽上
python运行报错解决记录python开发语言pandas机器学习numpysklearn
成功解决AttributeError:‘Tuple’对象没有属性‘shape’在Python的编程中,尤其是当我们使用如NumPy或Pandas等科学计算和数据处理库时,经常会遇到各种属性错误(AttributeError)。其中,“AttributeError:‘Tuple’对象没有属性‘shape’”是一个常见的错误,它通常意味着我们试图在一个元组(Tuple)对象上调用一个它并不拥有的方法或
- DWARF调试格式
Mentaclause
linux
文章目录DWARF调试格式调试信息节点.debug_info和.debug_abbrev节区CompileUnit的划分前一段时间了解了一下ELF文件和DWARF格式,用到了ELF文件中以DWARF格式存储的信息,在此总结记录一下。DWARF调试格式ELF全称ExcutableLinkableFormat,即可执行和可链接格式。DWARF全称DebuggingWithAttributedRecor
- iOS - 内存对齐
Batac_蝠猫
iOS底层原理iosobjective-cxcode
1.基本的内存对齐//对象内存对齐structobjc_object{//isa指针8字节对齐isa_tisa__attribute__((aligned(8)));};//定义对齐常量#defineWORD_MASK7UL//字对齐掩码#defineWORD_SHIFT3UL//字对齐位移#defineWORD_SIZE8//64位系统下字的大小2.弱引用表的内存对齐structweak_ent
- laravel 中自动批量注册验证规则到验证器
laravel中自动批量注册验证规则到验证器创建抽象验证规则App\Rules\Rule、App\Rules\RegexRulepasses($attribute,$value)){$fail(static::message())->translate();}}/***规则名称*/publicstaticfunctionname():string{returnStr::of(class_basen
- rust的指针作为函数返回值是直接传递,还是先销毁后创建?
wudixiaotie
返回值
这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。
fn main() {
let mut a = 34;
println!("a's addr:{:p}", &a);
let p = &mut a;
println!("p's addr:{:p}", &a
- java编程思想 -- 数据的初始化
百合不是茶
java数据的初始化
1.使用构造器确保数据初始化
/*
*在ReckInitDemo类中创建Reck的对象
*/
public class ReckInitDemo {
public static void main(String[] args) {
//创建Reck对象
new Reck();
}
}
- [航天与宇宙]为什么发射和回收航天器有档期
comsci
地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...
所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行
&
- linux下批量替换文件内容
商人shang
linux替换
1、网络上现成的资料
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.admi
- 网页在线天气预报
oloz
天气预报
网页在线调用天气预报
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit
- SpringMVC和Struts2比较
杨白白
springMVC
1. 入口
spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
参见:http://blog.csdn.net/zs15932616453/article/details/8832343
2
- refuse copy, lazy girl!
小桔子
copy
妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到:
1.那是我自己觉得写不出的高度
2.如果直接拿来用,很快就能解决问题
3.然后就是抄咩~~
4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!
- apache与php整合
aichenglong
php apache web
一 apache web服务器
1 apeche web服务器的安装
1)下载Apache web服务器
2)配置域名(如果需要使用要在DNS上注册)
3)测试安装访问http://localhost/验证是否安装成功
2 apache管理
1)service.msc进行图形化管理
2)命令管理,配
- Maven常用内置变量
AILIKES
maven
Built-in properties
${basedir} represents the directory containing pom.xml
${version} equivalent to ${project.version} (deprecated: ${pom.version})
Pom/Project properties
Al
- java的类和对象
百合不是茶
JAVA面向对象 类 对象
java中的类:
java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决
java使用 class 类名 来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的
创建一个A类:
class A{
}
java中的类:将某两个事物有联系的属性包装在一个类中,再通
- JS控制页面输入框为只读
bijian1013
JavaScript
在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。
- AngularJS与服务器交互
bijian1013
JavaScriptAngularJS$http
对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange
- [Maven学习笔记八]Maven常用插件应用
bit1129
maven
常用插件及其用法位于:http://maven.apache.org/plugins/
1. Jetty server plugin
2. Dependency copy plugin
3. Surefire Test plugin
4. Uber jar plugin
1. Jetty Pl
- 【Hive六】Hive用户自定义函数(UDF)
bit1129
自定义函数
1. 什么是Hive UDF
Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
文件格式:Text File,Sequence File
内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
用户提供的 map/reduce 脚本:不管什么
- 杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
ronin47
nginx 重启 pid丢失
nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng
- UI设计中我们为什么需要设计动效
brotherlamp
UIui教程ui视频ui资料ui自学
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
- Spring中JdbcDaoSupport的DataSource注入问题
bylijinnan
javaspring
参考以下两篇文章:
http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/
http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration
Sprin
- 数据库连接池的工作原理
chicony
数据库连接池
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对
- java 关键字
CrazyMizzz
java
关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。
Java中的关键字按功能主要可以分为以下几类:
(1)访问修饰符
public,private,protected
p
- Hive中的排序语法
daizj
排序hiveorder byDISTRIBUTE BYsort by
Hive中的排序语法 2014.06.22 ORDER BY
hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。
与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。
- 单态设计模式
dcj3sjt126com
设计模式
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?phpclass Example{ // 保存类实例在此属性中 private static&
- svn locked
dcj3sjt126com
Lock
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\xx\xxx' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a
- ARM寄存器学习
e200702084
数据结构C++cC#F#
无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。
1、不分组寄存器(R0-R7)
不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是
- 常用编码资料
gengzg
编码
List<UserInfo> list=GetUserS.GetUserList(11);
String json=JSON.toJSONString(list);
HashMap<Object,Object> hs=new HashMap<Object, Object>();
for(int i=0;i<10;i++)
{
- 进程 vs. 线程
hongtoushizi
线程linux进程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现
- Linux定时Job:crontab -e 与 /etc/crontab 的区别
Josh_Persistence
linuxcrontab
一、linux中的crotab中的指定的时间只有5个部分:* * * * *
分别表示:分钟,小时,日,月,星期,具体说来:
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
如:
*/1 * * * * 每分钟执行一次。
*
- KMP算法详解
hm4123660
数据结构C++算法字符串KMP
字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。
假设主串s="ababcabcacbab",模式串为t="
- 枚举类型的单例模式
zhb8015
单例模式
E.编写一个包含单个元素的枚举类型[极推荐]。代码如下:
public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*
- Kafka+Storm+HDFS
ssydxa219
storm
cd /myhome/usr/stormbin/storm nimbus &bin/storm supervisor &bin/storm ui &Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk
- Java获取本地服务器的IP
中华好儿孙
javaWeb获取服务器ip地址
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getLocalAddr:"+request.getLocalAddr());
System.out.println("getLocalPort:&quo