- 【iOS安全】iOS安装Alook浏览器
Jouzzy
iOS安全iOS开发ios浏览器
下载Alook的ipa下载地址参考:https://www.52pojie.cn/thread-1725470-1-1.html其中出现的下载链接:https://wwes.lanzouf.com/iyGQ00icergd下载ipa后使用爱思助手安装
- MyBatis注解开发详解
hoypte
mybatis
MyBatis注解开发详解一、前言MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通的Java对象)为数据库中的记录。在MyBatis中,注解提供了一种更加简洁和直观的
- @Import注解作用
y我见青山多妩媚
java开发语言
@Import注解作用理解springboot自动装配时,发现@SpringBootApplication注解下的@EnableAutoConfiguration注解头上有一个@Import注解。关于这个注解的作用,上网查找后发现理解的不是很明白,于是写了下面的Demo去理解。两个pojo类:publicclassPerson{}publicclassStudent{}测试类@Configurat
- 【spring boot结合rabbit mq 到点执行,可精确到秒】
ljh_learn_from_base
javaspringbootspringbootjava后端java-rabbitmq
【springboot结合rabbitmq到点执行,可精确到秒】创建队列枚举创建自定义的队列消息pojo创建队列和延迟队列发送mq消息接收mq消息DateTimeUtil测试注意点创建队列枚举publicenumQueueEnum{/***各种异步消息频道*/TEST(1,"test","队列频道"),DELAY_TEST(2,"delay_test","延迟延迟频道"),;privateInte
- Eclipse中Run As On Server和Run As Java Application
CAE虚拟与现实
JavaIDE开发环境javaeclipseide
一、名词释义runjavaapplication(作为Java应用程序运行)是运行javamain方法。runonserver是启动一个web应用服务器。二、两者的区别Eclipse中可以创建javaproject也可以创建javawebpoject。javaproject是可以直接在命令行运行,或者直接在Eclipse中运行此时运行是jvm直接调用了main方法。Eclipse中创建的javaw
- 不同编程网站应当注意的点
见合8
比赛总结c++c语言
文章目录引入:洛谷:POJ:C语言:C++:CF:个人建议:补充:引入:小伙伴们有没有遇到过这种情况:到一个新的网站去编程,思路、算法完全正确,提交上去却是WrongAnswer,RuntimeError,ComplieError,TimeLimitExceed。这里,我总结了以下几个网站的注意点:洛谷:link提交时右上角有一个选项为O2优化。这并不可以随便选。可能有些暴力程序开了O2就过了,但
- 阿里java开发手册泰山版_总结
林坰
Javajava数据库mysql
编程规约常量定义不允许任何预先未定义的常量出现在代码中。不要使用一个常量类维护所有的常量,要按常量功能进行归类,分开维护。OOP规约所有的POJO类属性必须使用包装数据类型。RPC方法的返回值和参数必须使用包装数据类型。POJO类是最简单最普通的JAVA对象,内在含义是有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。【没有从任何类继承、也没有实现任何接
- 【转载】ACM入门 .
dongfan1861
人工智能phpc/c++
初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法(dijkstra,bellman-ford,
- 如何下载52pojie、CSDN、简书、Myitmx、博客园的文章?(最新教程)
星梦客
问题记录程序人生
使用的油猴插件,具体怎么安装问一下度娘。我用的火狐,点点点就行了,省事先安装油猴拓展,启用一下Tampermonkey–下载Firefox扩展(zh-CN)在安装插件SaveToPDF脚本安装后,浏览CSDN文章时,博主信息下方会出现“收藏”按钮,52pojie页面,"收藏"按钮在发贴回复旁边,简书页面,左侧悬浮按钮下方,Myitmx页面,顶部最右侧,博客园页面,顶部管理菜单旁边点击收藏会弹出打印
- SpringBoot之基本概念
Daylight629
SpringBootjavaspringspringbootmaventomcat
SpringBoot概念一、什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。可以看我之前的文章关于spring的介绍与使用二、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性
- 使用IDEA构建微服务Maven聚合工程保姆级教程
程序喵锅
经验分享intellij-idea微服务maven经验分享学习
本次喵子给大家分享一个通用的聚合工程搭建教程,细致入微、充满人文关怀的保姆级教程,基本上搭建一次后续即可作为通用模版,应用到其它项目里。一、简单了解微服务二、Maven构建聚合工程1.环境说明2.开始构建2.1.创建空的父工程2.2.创建common子工程2.3.创建pojo子工程2.4.创建mapper子工程2.5.创建service子工程2.6.创建apis子工程2.7.工程安装三、总结一、简
- java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到
阿文弟
java开发语言
假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是jsonString存到一个地方,比如mysql,或者redis的String结构。现在有一个实体,我们自己创建的,叫做CusPojo.java有两个属性是布尔类型的,一个属性是有is开头,一个是没有is开头的,我们就可以做个对比。现在我导入fastjson依赖,创建一个CusPojo对象,然后序列化为jsonString,我们打印结果如
- springboot整合RabbitMQ
水宝的滚动歌词
RabbitMQspringbootspringbootrabbitmq
1.Spring-AMQP概念什么是Spring-AMQPSpring框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的POJO的消息监听等提供不依赖于任何特定的AMQP代理实现或客户端库通用的抽象,最终用户代码将很容易实现更易替换、添加和删除AMQP,因为它可以只针对抽象层来开发总之就是提高我们的框架整合消息队列的效率,springboot为更方便开发Rabbit
- Spring Boot 笔记 016 创建接口_删除文章分类
机器人迈克猫
SpringBootspringboot笔记后端
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- SpringMVC 的参数绑定之list集合、Map
lvpflv
SpringMVClistmvcspring
标签中name属性的值就是pojo类的属性名参数绑定4list[对象]教师编号:教师姓名:map教师编号:教师姓名:
- VO、DTO、DO、BO、PO
知行合一。。。
项目--架构mybatis
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录VO、DTO、DO、BO1.概念阿里Java开发手册分层领域模型:2.VO和DTO使用场景以下是一个使用VO和DTO的典型案例:3.BO和DTO的区别案例VO、DTO、DO、BOPOJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、PO、DTO。通过各层POJO的使用,有助于提高代码的可读性和可维护性
- 【千锋逆战】MyBatis的xml+接口方式实现crud功能
落羽离殇
Mybatis的xml+接口方式实现crud功能User.javapackagecom.qfedu.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublicclassUser{privat
- SSM详细速成
一叉树
mybatisjavamysqlspringmvc
ssm速成此文对狂神说ssm整合进行解读mybatis学习+测试pojo.Books@AllArgsConstructor@NoArgsConstructor@DatapublicclassBooks{privateintbookId;privateStringbookName;privateintbookCounts;privateStringdetail;}mybatis.xml核心文件设置连
- Mybatis(千峰学习笔记)
2301_78533951
mybatis
什么是MyBatis1.MyBatis是一款优秀的持久层框架,它支持定制化SQL,存储过程及高级映射。2.MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。3.Mybatis通过XML或注解的方式配置和映射原生信息。Mybatis特点:1.MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。2.MyBatis提供
- Maven高级
今天你改bug了吗?
JavaWebmavenjava数据库
一、分模块设计与开发File——new——newmoduletlias-pojo——pom.xml增加缺少的依赖二、继承与聚合2.1继承2.1.1继承关系2.1.2版本锁定2.2聚合三、私服3.1介绍3.2资源上传与下载
- Myvatis关联关系映射与表对象之间的关系
MyBatis是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解进行配置,并未原生SQL提供了很好的支持。在MyBatis中,关联关系映射和表对象之间的关系是通过XML映射文件或注解来实现的。表对象,通常是Java的POJO类,对应数据库中的一张表。而关联关系映射,则
- Mybatis的三种映射关系以及联表查询
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。在MyBatis中,主要有三种映射关系:一对一映射:这是最简单的关系映射。
- Spring Boot 笔记 013 创建接口_查询文章分类列表
机器人迈克猫
SpringBoot笔记
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- PO、POJO、BO、AO、VO、DTO、DO、DAO
HachiLin
1.POpersistantobject:持久层对象有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。在hibernate持久化框架中与insert/delet操作密切相关。PO中不应该包含任何对数据库的操作。2.POJOplainordinaryjavaobject:无规则简单java对象传统意义的java对象。可以转化为PO、DTO、VO,比如P
- Spring Boot 笔记 015 创建接口_更新文章分类
机器人迈克猫
SpringBootspringboot笔记java
1.1.1实体类id增加NotNull注释,并做分组校验1.1.1.1定义分组1.1.1.2实体类中指定校验项属于哪个分组如果说某个校验项没有指定分组,默认属于Default分组分组之间可以继承,AextendsB那么A中拥有B中所有的校验项packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonFormat;importja
- java高级编程教程课后题答案,相关资料参考
Java阿里面试题
程序员java后端面试
谈起MyBatis,我先提个问:什么是MyBatis?MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录…而今天咱要聊的就是Aliba
- Spring Boot 笔记 018 创建接口_文章列表(分页)
机器人迈克猫
SpringBootspringboot笔记后端
1.1分页查询1.1.1创建pageBean封装分页的数据packagecom.geji.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.util.List;//分页返回结果对象@Data@NoArgsConstructor@AllArgsConstru
- 挑战程序设计竞赛最小生成树习题(4道)及详解:C++实现
新西兰做的饭
图论挑战程序设计竞赛图论kruskalprim算法c++
最小生成树POJ1258:Agri-NetPOJ2377:BadCowtractorsPOJ2395:OutofHayAOJ2224:Saveyourcats这四道题比较基本,没有过多复杂的过程,所以整合在一篇博客,适合学过最小生成树算法后来加深理解POJ1258:Agri-Net点击进入题面最小生成树模板题,输入为图的邻接矩阵,所以优先考虑prim算法:#include#includeusing
- Spring Boot 笔记 012 创建接口_添加文章分类
机器人迈克猫
SpringBootspringboot笔记java
1.1.1实体类添加校验packagecom.geji.pojo;importjakarta.validation.constraints.NotEmpty;importlombok.Data;importjava.time.LocalDateTime;@DatapublicclassCategory{privateIntegerid;//主键ID@NotEmptyprivateStringcat
- Spring Boot 笔记 009 创建接口_更新用户基本信息
机器人迈克猫
SpringBootspringboot笔记java
1.1.1给User实体类添加校验packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonIgnore;importjakarta.validation.constraints.Email;importjakarta.validation.constraints.NotEmpty;importjakarta.validatio
- 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