㈠ java 怎么获取web容器的ip和端口号
request.getRemoteAddr(); IP获取
request.getRemotePort(): 端口号复
㈡ 如何用java程序获得本机的端口号
你是不是想在JSP里面,想获取当前服务器的端口呢?如果是的话,在JSP里面,代码回是答:request.getLocalPort();
如果想获取客户端的端口,JSP代码是:request.getRemotePort();
你的问题描述的不是很清楚,很难确切的回答你。
㈢ 怎么在tomcat启动时自动执行一个java类 获得本项目服务器的IP和端口
@PostConstruct
publicvoidinit(){
try{
MBeanServerbeanServer=ManagementFactory.getPlatformMBeanServer();
Set<ObjectName>objectNames=beanServer.queryNames(newObjectName("*:type=Connector,*"),
Query.match(Query.attr("protocol"),Query.value("HTTP/1.1")));
serverIp=InetAddress.getLocalHost().getHostAddress();
serverPort=objectNames.iterator().next().getKeyProperty("port");
}catch(Exceptione){
e.printStackTrace();
}
}
这段代码可以获取到,但是存在一个问题就是在Linux环境下启动项目的时候,
objectNames.iterator().next().getKeyProperty("port");这句会抛出异常:
java.util.NoSuchElementException。如果仅仅是在Windows下的话,上面的代码完全OK
㈣ java如何实现从远程ip和端口接收数,最好能够给出源码,类似于tcp/ip网络调试助手。
import java.net.*;
import java.io.*;
public class TestSocketClient {
public static void main(String[] args) {
{
Socket socket = new Socket("127.0.0.1", 5566);
System.out.println("请输入计算式:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
dos.writeUTF(s1);
dos.flush();
double s = dis.readDouble();
System.out.println("计算结果:" + s);
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("连接出错");
System.exit(-1);
}
}
}
服务器端:
import java.net.*;
import java.io.*;
public class TestSocketServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(5566);
Socket socket = ss.accept();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
String s = null;
if ((s = dis.readUTF()) != null) {
System.out.println("接收到的算式:" + s);
double result = 0;
String[] sarr1 = s.split("[\\+\\-\\*\\/]");
double a = Double.parseDouble(sarr1[0].trim());
double b = Double.parseDouble(sarr1[1].trim());
String[] sarr2 = s.split("^(-?\\d+)(\\.\\d+)?");
char c = sarr2[1].trim().charAt(0);
switch (c) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a / b;
break;
default:
break;
}
dos.writeDouble(result);
dos.flush();
}
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}
}
㈤ java的servlet 不通过request能获取到服务器IP与提供的端口号吗。
这个可不是的,request相当于客户端,浏览器端的请求,是通过request的构造方法进行表单的提交,然后再分装到实体对象中,再调用业务层济宁处理数据,然后后面再进行操作了
㈥ Java中服务器端ServerSocket对象怎么获取服务器端地址和端口号,怎么获取远程请求的
ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立连接
Socket socket = s.accept();
/ /getInetAddress()获取远程ip地址,getPort()远程客户端的断后好
"你好,客户端地专址信息: " + socket.getInetAddress() + "\t客户端通信端口号属: " + socket.getPort()
㈦ java 调用接口获取服务器IP和端口号
<%=
request.getservername()%>
服务器的域名
<%=
java.net.inetaddress.getlocalhost().gethostaddress()
%>
服务器的ip地址
<%=request.getserverport()%>
服务器正在运行的端口
㈧ java编程,获取局域网内服务器端的ip地址
socket.connect(new InetSocketAddress(ip, port), timeout)
看有没有抛异常 没异常就是已经连接上了
想获取服务器名称 可以用ARP协议 或者测试连接的时候服务器回应一个名称
package;
importjava.io.IOException;
importjava.net.InetSocketAddress;
importjava.net.Socket;
publicclassClient{
publicstaticvoidmain(String[]args){
/**
*端口号
*/
intport=10000;
/**
*连接延时
*/
inttimeout=300;
System.out.println("ScannerStart...");
Socketsocket;
/**
*扫描
*/
for(inti=1,k=254;i<k;i++){
if((socket=isOnLine("192.168.1."+i,port,timeout))!=null){
System.out.println("Server:"
+socket.getInetAddress().getHostAddress()
+":"+socket.getPort()+"IsWaiting...");
}
/**
*关闭连接
*/
if(socket!=null&&!socket.isClosed()){
try{
socket.close();
}catch(IOExceptione){
socket=null;
}
}
}
System.out.println("Scannerend...");
}
/**
*测试连接服务器,返回连接成功后的Socket
*
*@paramip
*服务器Ip
*@paramport
*服务器端口号
*@paramtimeout
*连接延时
*@return返回连接成功后的Socket
*/
privatestaticSocketisOnLine(Stringip,intport,inttimeout){
Socketsocket=newSocket();
try{
socket.connect(newInetSocketAddress(ip,port),timeout);
}catch(IOExceptione){
returnnull;
}
returnsocket;
}
}