当前位置:首页 » 编程语言 » http服务器java

http服务器java

发布时间: 2022-09-24 13:45:34

java怎么实现http服务器怎么解决

参数:url:目标地址data:要post的数据比如a=1&b=2publicstringGetPostString(stringurl,stringdata){try{byte[]postBytes=Encoding.GetEncoding("utf-8").GetBytes(data);HttpWebRequestmyRequest=(HttpWebRequest)WebRequest.Create(url);myRequest.Method="POST";myRequest.ContentType="text/html";myRequest.ContentLength=postBytes.Length;myRequest.Proxy=null;StreamnewStream=myRequest.GetRequestStream();newStream.Write(postBytes,0,postBytes.Length);newStream.Close();//=(HttpWebResponse)myRequest.GetResponse();using(StreamReaderreader=newStreamReader(myResponse.GetResponseStream(),Encoding.GetEncoding("utf-8"))){stringcontent=reader.ReadToEnd();returncontent;}}catch(System.Exceptionex){returnex.Message;}}

Ⅱ 使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。

使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。
1. 监听端口可以配置;
2. 可以配置的一个工作目录;
3. GET请求可以获得相对于该工作目录的静态文件的内容,内容格式限定为html,css,js,json,xml,txt,jpg,gif,png,ico;
a) 例如 GET /f/test1.html返回工作目录下f文件夹下test1.html内容;
b) 在GET请求的的应答中尽可能多的在HTTP头中返回些能获得的到的标准的头信息;
4. POST请求可以在工作目录中创建请求路径对应的文件,文件内容为POST请求的内容;
a) 例如 POST /f/test2.html,在工作目录下f文件夹下创建test2.html文件,并将POST内容作为test2.html的内容。
5. PUT请求可以替换对应路径的文件,修改的内容为PUT请求的内容。注意与POST不同。
a) 例如 PUT /f/test2.html,在工作目录下f文件夹替换test2.html文件的内容,并将PUT内容作为test2.html的内容。
6. DELET请求可以删除对应路径的文件。
a) 例如 PUT /f/test2.html,在工作目录下f文件夹删除test2.html文件。
7. POST,PUT,DELETE成功后返回200,出现找不到文件的情况返回404错误,出现读写文件错误返回500错误。
8. 特别的处理~路径下的GET请求,其包含2个参数,一个是类名,一个是方法名,这些方法都是些无参数并且以字符串为返回值的方法,GET请求应返回这些方法的返回值。
a) 例如 GET /~?class=com.test.Test&method=getTIme,则调用com.test.Test类中String getTIme()方法,将返回值作为GET请求的返回;
b) 若找不到类或方法返回404错误;
c) 若出错返回500错误;
9. 特别的处理$路径下的GET请求,能够为浏览器添加cookie,key为sid,值为UUID的随机字符串。
注意:不是在tomcat之类servlet容器上开发,而是要开发个类似servlet容器的东西。

Ⅲ 怎么用Java写一个HTTP服务器

java网络编程。现在可以用nio的。netty框架很受欢迎。网页链接

Ⅳ java http服务器有哪些功能

HTTP是个大协议,完整功能的HTTP服务器必须响应资源请求,将URL转换为本地系统的资源名。响应各种形式的HTTP请求(GET、POST等)。处理不存在的文件请求,返回各种形式的状态码,解析MIME类型等。但许多特定功能的HTTP服务器并不需要所有这些功能。例如,很多网站只是想显示“建设中“的消息。很显然,Apache对于这样的网站是大材小用了。这样的网站完全可以使用只做一件事情的定制服务器。Java网络类库使得编写这样的单任务服务器轻而易举。

定制服务器不只是用于小网站。大流量的网站如Yahoo,也使用定制服务器,因为与一般用途的服务器相比,只做一件事情的服务器通常要快得多。针对某项任务来优化特殊用途的服务器很容易;其结果往往比需要响应很多种请求的一般用途服务器高效得多。例如,对于重复用于多页面或大流量页面中的图标和图片,用一个单独的服务器处理会更好(并且还可以避免在请求时携带不必要的Cookie,因而可以减少请求/响应数据,从而减少下载带宽,提升速度);这个服务器在启动时把所有图片文件读入内存,从RAM中直接提供这些文件,而不是每次请求都从磁盘上读取。此外,如果你不想在包含这些图片的页面请求之外单独记录这些图片,这个单独服务器则会避免在日志记录上浪费时间。

本篇为大家简要演示三种HTTP服务器:
(1) 简单的单文件服务器
(2) 重定向服务器
(3) 完整功能的HTTP服务器

Ⅳ 请问如何用JAVA编写一个非阻塞的HTTP服务器

void clrscr(int lines)
{
int s;
COORD c={0,0};
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
#include "stdio.h"
void main()
{
int a, b ;

a=10;
b=20;
a^=b ;
b^=a ;
a^=b ;
printf("a=%d,b=%d\n",a,b);
}
//c.X=c.Y=0;
DWORD dwL;
TCHAR tc=32;
CONSOLE_SCREEN_BUFFER_INFO inf;
GetConsoleScreenBufferInfo(h,&inf);
if (lines<0) lines=inf.dwSize.Y; else {
if (inf.dwSize.Y < lines) lines=inf.dwSize.Y;
}
int val1=512,val2=1024;
ostringstream format_message;
format_message<<"val1:"<<val1<<"\n"
<<"val2:"<<val2<<"\n";
istringstream input_istring(format_message.str());
string mp;
input_istring>>mp>>val1>>mp>>val2;
cout<<val1<<" "<<val2<<endl;
getch();

s=inf.dwSize.X * lines;
FillConsoleOutputCharacter(h,tc,s,c,&dwL);
SetConsoleCursorPosition (h,c);

}

Ⅵ 怎样java向服务器发送http请求

你好,java有一个组件,httpclient,这个jar包,可以模拟http客户端,向服务端发送http请求,而且现在大部分都用的是这个。

Ⅶ JAVA在云服务器上发送http请求报错,跪求大神,小弟熬夜加班不容易啊

看你的url地址没写默认端口号,那么默认端口就是80端口,确认一下你云服务器web项目是否用的80端口,如果不是请在url里加入响应端口号

Ⅷ JAVA 使用Socket 访问HTTP服务器

你好。访问Web服务器(例:www..com),需要根据Http协议发送相关请求头,否则Web服务器不会处理。这种处理就类似于你的代码:(line = read.readLine()) != null。当然Web服务器验证的不是这个。

HTTP协议这里不会详解,有需要可以查询相关资料。

在你的代码中加入:

longstart=System.currentTimeMillis();
SocketAddressaddress=newInetSocketAddress(InetAddress.getByName("www.javathinker.org").getHostAddress(),80);
Socketsocket=newSocket();
socket.connect(address);
System.out.println("连接成功-"+socket.getInetAddress()+":"
+(System.currentTimeMillis()-start)+"ms");
/**编写简单HTTP请求头*/
StringBuildersb=newStringBuilder();
sb.append("GET/HTTP/1.1 ")
.append("Host:www.javathinker.org ")
.append("Connection:Close ");

OutputStreamout=socket.getOutputStream();
out.write(sb.toString().getBytes());
out.flush();
/**发送完成后flush*/
BufferedReaderread=newBufferedReader(newInputStreamReader(
socket.getInputStream()));
/**循环等待read接收*/
booleanb=true;
while(b){
if(read.ready()){
Stringline=null;
while((line=read.readLine())!=null){
System.out.println(line);
}
b=false;
}
}

Ⅸ java 如何搭建http服务器

看你具体是想做什么,现在现成的开源的java的http服务器有很多,像tomcat之类的都有http服务器功能,如果你只是单纯的需要用的话,直接用tomcat就好了

但是如果你是做要自己用java实现一个http服务器的话就要稍微麻烦一点

http服务器,本质上还是基于tcpip协议的服务器,首先用java的ServerSocket监听一个端口(也可以使用开源的server组件,如quickserver之类的),然后对客户端发上来的数据进行处理,这里就需要了解一下http协议了,因为上来的数据,都是按照http协议来组织的,你需要将请求数据解析后,将响应数据组织成http的响应,发回给客户端。这样一个简单的http服务器就实现了。

但是这个请求和响应都有很多种类,一个完整的http服务器应该要都能够支持,所以这里面的工作量还是有一点的。

另外,上面说的http服务器只是一个静态的服务器,如果你想让你写的服务具有动态功能,那你的服务器还得提供javaee的容器功能,这样做下去,没准你也能写一个tomcat出来了……

Ⅹ java里http服务器如何将文件制成一个下载路径

/**
*文件下载
*/
@RequestMapping("/downloadfile")
(StringresStr,HttpServletResponseresponse){
PrintWriterpw=null;
StringBuffersb=newStringBuffer();

try{
StringfileName="文件名";
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-msdownload");
response.addHeader("Cache-Control","no-cache,no-store,must-revalidate");
response.addHeader("charset","utf-8");
response.addHeader("Pragma","no-cache");
response.setHeader("Content-Disposition","attachment;filename=""+fileName+"";filename*=utf-8''"+fileName);
sb.append(resStr);
pw=response.getWriter();
pw.write(sb.toString());
pw.close();
response.flushBuffer();
}catch(IOExceptione){
logger.info("下载文件出错");
e.printStackTrace();
if(pw!=null){
pw.close();
}
}finally{
if(pw!=null){
pw.close();
}
}
}

resStr 字段传写入文件里的内容

热点内容
安卓手机如何关闭英文拼写 发布:2024-05-07 01:45:46 浏览:296
光介质存储 发布:2024-05-07 01:32:25 浏览:350
苹果平板ipad密码忘了怎么办 发布:2024-05-07 01:17:16 浏览:704
伏吟的算法 发布:2024-05-07 00:51:48 浏览:830
安卓手机上的照相键在哪里 发布:2024-05-07 00:51:45 浏览:606
ftp如何删除顽固文件 发布:2024-05-07 00:50:57 浏览:251
idea文件夹显示 发布:2024-05-07 00:30:04 浏览:250
怎么把ps存储为ai 发布:2024-05-07 00:30:03 浏览:274
参数内存缓存 发布:2024-05-07 00:28:54 浏览:747
android状态栏高度 发布:2024-05-07 00:24:42 浏览:242