當前位置:首頁 » 編程語言 » 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-04-26 19:59:02 瀏覽:352
sql注釋語句 發布:2024-04-26 19:58:48 瀏覽:653
sql存儲過程out 發布:2024-04-26 19:33:15 瀏覽:414
struts2訪問方法 發布:2024-04-26 19:11:36 瀏覽:259
外文翻譯android 發布:2024-04-26 19:03:30 瀏覽:90
土金木配置怎麼樣 發布:2024-04-26 18:52:50 瀏覽:611
這台電腦如何訪問另一台電腦伺服器 發布:2024-04-26 18:51:08 瀏覽:628
怎麼快速了解電腦的配置 發布:2024-04-26 18:42:11 瀏覽:998
rsa加密演算法例子 發布:2024-04-26 18:40:29 瀏覽:244
thinkphp緩存關閉 發布:2024-04-26 18:19:32 瀏覽:97