- shell编程 vim编辑bash脚本如何使用
椰子cot
vimbash编辑器
前言介绍一下vim编辑器如何写shell脚本并运行,上课的时候老师用的是nano编辑器,说是比较适合初学者,不过都大同小异,喜欢哪个用哪个,我觉得vim用到挺舒服。一、shell编程概述查看系统中所有shell版本:cat/stc/shells我们常用的一般是bash,这个代码可以查看系统当前用的是什么shell脚本:•Shell脚本(Shellscript)•基于Shell语言的语法规则编写而成
- 解决linux centos ubuntu等无法启动谷歌chrome浏览器问题
Mumunu-
linuxcentosubuntu
命令启动chrome时候提示:Runningasrootwithout--no-sandboxisnotsupported.Seehttps://crbug.com/638180.解决无法启动谷歌chrome浏览器:cd/usr/bin发现目录下有google-chromegoogle-chrome-stable执行:vimgoogle-chrome#然后对文件最下面代码追加上--no-sandb
- windows免密ssh登录linux
王大渣
sshlinux运维
windows执行ssh-keygen生成公钥ssh-keygen一路回车即可拷贝windows公钥到linux服务器#windows拷贝下面文件的内容C:\Users\.ssh\id_rsa.pub#linux复制到/root/.ssh/authorized_keysvimauthorized_keyslinux更新ssh#linux环境执行命令更新sshsudosystemctlrestart
- nginx源码安装及各模块(自我学习)(二)
马总123
linuxcentos7nginxlinuxcentos服务器运维
安装nginx及部分常用模块目录安装nginx配置文件模块安装目录索引nginx状态监控nginx基于ip的访问控制nginx基于用户的访问控制(auth模块)ningx的访问限制限制ip限制速率安装nginx(1).可以配置本地yum源[root@nginx~]#vim/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginxstablerepobas
- Nginx源码分析
编程界的谢菲尔德
nginx运维
目录解析auto:configure编译的脚本html:默认htmlobjs:执行configure之后产生的src:源码conf:默认配置文件contrib:一些使用工具e.vim的高亮语法man:帮助文件auto文件:cc:#检各种编译器的脚本lib:#检各种编译依赖库的脚本os:#检各种操作系统的脚本types:#检平台相关的基本类型的脚本src文件core数据结构定义和核心代码event事
- R --- Error in library(***) : there is no package called ‘***’ (服务器非root用户)
auto_star
r语言服务器
步骤步骤一:在自己目录下创建R包安装路径步骤二:配置用户本地的R库路径步骤三:安装缺失的包(在终端)步骤四:验证安装步骤一:在自己目录下创建R包安装路径mkdir-p~/R_libs步骤二:配置用户本地的R库路径在家目录下,编辑(或新建).Renviron文件:vim~/.Renviron在文件内写入如下内容:R_LIBS_USER=~/R_libs,保存后退出。步骤三:安装缺失的包(在终端)在终
- Linux:常用软件、工具和周边知识介绍
5:00
linux运维服务器
目录1.yum-管理软件包的工具1.1基本介绍1.2yum的使用1.3yum的周边生态1.4软件包介绍2.vim-多模式的文本编辑器2.1基本介绍2.2基本模式介绍2.2.1命令模式(Normalmode)2.2.2插入模式(Insertmode)2.2.3底行模式(Commandmode)3.gcc/g++–Linux编译器3.1基本介绍3.2编译过程3.3动静态库1.静态库(StaticLib
- Linux操作系统中的文本编辑器,Vim的使用方法
云计算课代表
日常运维问题合集linuxvim运维
在使用Linux操作系统的过程中,经常需要对文本文件进行操作,如新建、编辑等,常用的方法有以下几种:1、使用第三方SFTP的工具,连接服务器上传下载文件进行创建修改2、在图形界面的Linux操作系统中使用图形化文本编辑器,如Gedit、Kate、Nano等3、使用vi或vim(推荐)vi及vim介绍vi和vim都是Linux系统下的文本编辑器,类似于Windows系统中的Notepad(记事本)。
- 12. Linux中vim和nano的用法
K2SO4钾
问题集linuxvim运维
这个专栏记录我学习/科研过程中遇到的一些小问题以及解决方案,一些问题可能比较蠢请见谅。自用,仅供参考。------------------------------------------------------------------------------------Linux中vim和nano的用法这个例子中,我们将分别使用vim和nano打开一个可写文件、添加文本、保存退出。1.vimvim
- 搭建多群组FISCO BCOS联盟链及运维
25号底片t
运维区块链网络
1.搭建多群组FISCOBCOS联盟链1.1创建ipconf推荐路径:在/fisco目录下创建(即与build_chain.sh脚本同级目录)bash#进入工作目录(若未创建则新建)mkdir-p/fisco&&cd/fisco#创建并编辑ipconf文件vimipconf#也可以使用nano、echo或其他编辑器1.2编写ipconf文件创建ipconf文件并配置节点信息(注意参数间用空格分隔)
- python 如何传入参数?
Joyner2018
pythonpython前端开发语言
在Python中,传入参数主要分为以下几种情况:1.脚本参数(命令行参数)通过命令行运行脚本时可以传入参数。例如:pythonscript.pyarg1arg2处理命令行参数的方法:使用sys.argv使用argparse模块(更强大)示例:使用sys.argvimportsysif__name__=="__main__":print("脚本名:",sys.argv[0])print("参数列表:
- CentOS下挂载硬盘(fdisk,mkfs.ext4,mount)
weixin_34357436
php开发工具
centos挂载硬盘挂载硬盘步骤:1.先分区fdisk/dev/sdb-p查看分区-n创建分区-p创建主分区-1这是分区序号-回车,回车(这里选择扇区起始位置和分区大小,类似:+1G这样的格式)-w保存退出2.格式化mkfs.ext4/dev/sdb13.挂载比如挂载到/data0下面,则先创建目录mkdir/data0再挂载:mount/dev/sdb1/data04.硬盘随机启动挂载vim/e
- Java 安装开发环境(Mac Apple M1 Pro)
阿汤哥的程序之路
Javajavamacospython
下载JavaDownloads查看本地安装的JDK所在位置以及JAVA版本系统默认的安装处/Library/Java/JavaVirtualMachines配置Java添加环境变量vim~/.bash_profileAdd#安装位置exportJAVA_11_HOME="/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home"expo
- macbook terminal 修改默认打开位置
Anita-Sun
git和github的基本使用github
编辑.bashrc文件vim~/.bashrc用cd修改比如:cd~/Desktop/
- Linux修改SSH端口号
于齐龙
Linuxlinuxssh服务器
我这里那RedHat系列的操作系统举例,修改SSH端口号修改SSH配置文件:/etc/ssh/sshd_config,将端口号修改为2222.vim/etc/ssh/sshd_config重启SSH服务systemctlrestartsshd#如果是比较旧的OS,使用下面的命令重启servicesshrestart验证端口更改是否成功netstat-tulnp|
- neovim 工具介绍
m0_55576290
installlua
seoul256.vim:一个基于首尔色彩的低对比度Vim颜色方案,适用于256色终端或GVim。vim-easy-align:Vim插件,用于对齐文本。vim-go:Vim的Go语言插件,支持语法高亮、自动缩进等。coc.nvim:集成了LSP(LanguageServerProtocol)的Neovim/Vim插件,提供代码自动补全、跳转定义等功能。fzf:命令行模糊搜索工具,用于快速查找和选
- 探索思维的可视化乐园:Markmap.nvim
杭臣磊Sibley
探索思维的可视化乐园:Markmap.nvim去发现同类优质开源项目:https://gitcode.com/在文字的海洋中寻找灵感的脉络?【Markmap.nvim】正是您所需的灯塔,将您的Markdown文档转化为生动的思维导图,让创意与结构一目了然。项目简介Markmap.nvim是一款专为Neovim爱好者设计的插件,旨在将Markdown文档转换成交互式的思维导图。它源自对coc-mar
- Lua 的 Neovim 常用配置
胖大和尚
lua开发语言
以下是一份基于Lua的Neovim常用配置指南,涵盖基础设置、插件管理、代码补全、语法高亮、文件导航等核心功能。所有配置基于现代最佳实践,支持模块化扩展。目录结构~/.config/nvim/├──init.lua#主入口└──lua/├──core/#基础配置│├──options.lua│├──keymaps.lua│└──autocommands.lua├──plugins/#插件配置│├─
- 前端 AI IDE应用&优缺点
GISer_Jinger
前端面试javascript
嗯,用户问了三个前端面试的问题,我需要仔细分析每个问题,并结合提供的搜索结果来给出全面且准确的回答。第一个问题是关于开发工具Cursor或Vim的Windurf在开发中的占比以及它们的缺点。从搜索结果里看,网页3提到了Trae对标Cursor,并指出Cursor需要付费且依赖梯子,而Trae免费且更稳定。这说明Cursor可能在国内使用存在网络问题,另外可能功能受限。而Windurf没有直接提到,
- Linux的权限
巷子里的童年ya
linux运维服务器centos
基本权限与归属读取:允许查看内容-readr写入:允许修改内容-writew可执行:允许运行和切换-excutex1、对于文本文件:r读取权限:cat、less、grep、head、tailw写入权限:vim、>、>>x可执行权限:Shell与Python\Go2、对于目录:r读取权限:ls命令查看目录内容w写入权限:能够创建、删除、修改等目录的内容x执行权限:能够cd切换到此目录下(进入此目录)
- 配置vim
valisweet
linux
vim~/.vimrcsetexpandtabsettabstop=2setshiftwidth=2
- Linux:编辑器Vim和Makefile
嶔某
Linuxlinux编辑器vim
✨✨所属专栏:Linux✨✨✨✨作者主页:嶔某✨✨vim的三种常用模式分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode)各模式的功能区分如下:正常/普通/命令模式(Normalmode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到lastlinemode。插入模式(Insertmode)只有
- Linux服务器设置jar包开机自启
一个简单的名称
Linux服务器linuxjar
一、准备工作将jar包上传到服务器(本文将jar包上传到/home/project/jar/)新建脚本文件(本文将脚本文件放在/home/project/sh/文件下)注:sentinel-dashboard是我的程序名,可根据实际情况替换二、新建、编辑jar包的启动和停止脚本#启动脚本文件vim/home/project/sh/sentinel-dashboard-start.sh#停止脚本文件
- 【服务器】使用命令行文本编辑器(如 vim、nano 或 vi)创建文件并编辑
WW、forever
软件安装及编译处理等服务器vim运维
【服务器】使用命令行文本编辑器(如vim、nano或vi)创建文件并编辑准备:连接至服务器(如ssh)创建.ncl文件方法1:使用vim创建.ncl文件方法2:使用nano创建.ncl文件确认文件已创建运行.ncl文件总结参考要在服务器中新建.ncl文件(或任何其他文件),你可以通过SSH连接到服务器,然后使用命令行文本编辑器(如vim、nano或vi)创建文件并编辑。以下是具体步骤:准备:连接至
- 内核调试环境:buildroot/debootstrap制作文件系统、编译内核、QEMU模拟
苏打呀
linuxqemukernel
编译内核#安装常用工具和依赖,可能会多,懒得分了,全装了吧反正以后说不定还要用。。。sudoaptinstallcurlwgetgpgzshtreegitnet-toolsproxychains4remminavimtarstracellvmclangunzipgccgcc-multilibbuild-essentialflexbisoncmakemakegawkdkmsautoconfninja
- Linux中view命令
姚不倒
linux运维服务器
在Linux系统中,view命令是一个用于查看文本文件内容的命令。它是vi或vim编辑器的一个衍生版本,但主要用于只读操作,即用户可以在不修改文件内容的情况下查看文件。以下是关于view命令的详细解释:一、命令功能查看文件内容:view命令允许用户以只读模式打开并查看文本文件的内容,非常适合于需要快速浏览文件而不需要进行编辑的场景。支持多种格式:虽然主要用于查看文本文件,但view命令在某些情况下
- 自动化配置管理工具 SaltStack-03
Mr.Ron
linux自动化服务器运维
一、Jinja模板应用案例1、需求描述给之前通过saltstack安装好的lamp环境的apache修改配置文件,要求每个主机监听自己ip的80端口。2、实现思路如果通过单纯的修改配置文件根本无法实现,所以我们需要用到模板,将配置文件作为模板,通过定义模板中的变量来实现,并且需要引用grians参数。#编辑state配置文件[root@server~]#vim/srv/salt/prod/apac
- JavaScript常用函数测试demo
sunny05296
JavaScriptjavascript开发语言ecmascript
JavaScript常用函数测试demovimJavaScriptTestDemo.html内容如下:JavaScriptfunctionstestdemoEnterF12toviewtheconsoleoutputmessageofconsole.log()EnterF5torefresh//JavaScriptint2string/string2inttestfunctiontest01(){
- Docker配置代理
docker
使用背景最近在国内网络下,pullultralytics镜像一直失败:dockerpullultralytics/ultralytics:latest-conda,尝试使用代理下载镜像配置步骤1.创建或编辑Docker配置文件1.1创建配置文件mkdir-p/etc/systemd/system/docker.service.dvim/etc/systemd/system/docker.servi
- Debian12中vi/vim复制粘贴问题(关闭Vim可视模式(Visual mode))
debianvim
背景:vim命令中,鼠标复制粘贴,自动进入可视模式,无法正常复制粘贴一招解决:下面命令的vim90目录,不同版本会有区别,找到对应版本编辑文件:vi/usr/share/vim/vim90/defaults.vim找到setmouse=a改为setmouse-=a保存退出即可生效!
- 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