當前位置:首頁 » 網頁前端 » java做web伺服器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java做web伺服器

發布時間: 2023-08-19 21:25:55

Ⅰ 如何搭建java web伺服器

1.由於伺服器配置比較低綜合考慮,選擇ubuntu系統進行搭建

並通過XFTP或上述的上傳文件方法,上傳至apache-tomcat-7.0.69/webapps中

Ⅱ 後端需要學javaweb嗎 不學javaweb可以做後端開發嗎

1、後端開發也會涉及到和前端的交互、介面、數據傳輸,所以說即使做後端開發也必須掌握Javaweb的相關知識。

2、Java Web,是用橋氏清敏前Java技術來解決相關web互聯網領域的技術總和。web包括:web伺服器和web客戶端兩部分。Java在客戶端的應用有java applet,不過使核閉用得很少,Java在伺服器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術對Web領域的發展注入了強大的動力。

3、Java的Web框架雖然各不相同,但基本也都是遵循特定的路數的:使用Servlet或者Filter攔截請求,使用MVC的思想設計架構,使用約定,XML或 Annotation實現配置,運用Java面向對象的特點,面向對象實現請求和響應的流程,支持Jsp,Freemarker,Velocity等視圖。

Ⅲ 探討下JAVAWEB應用伺服器哪個比較好

web伺服器有很多,tomcat,JBoss,WebLogic等等,本地開發的話用tomcat,jboss等比較好,因為比小巧,需要部署發布的時候,使用webLogic,websphere等

Ⅳ Java:除了tomcat以外,還有哪些常用的Web伺服器呢

1、襪讓或weblogic

WebLogic是美國bea公司出品的一個application server確切的說是一個基於j2ee架構的中間件。BEA WebLogic是用於開發、集成、部署和管理大型分布式Web應用、網路應用和資料庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、集成、部署和管理之中。

2、webSphere

WebSphere是 IBM 的集成軟體平台。它包含了編寫、運行和監視全天候的工業強度的隨需應變 Web 應用程序和跨平台、跨產品解決方案所需要的整個中間件基礎設施。

如伺服器、服務和工具。WebSphere 提供了可靠、靈活和健壯的集成軟體。

3、JBoss

JBoss是一個管理EJB的容器和伺服器,支持EJB 1.1、EJB 2.0和EJB3.0的規范。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。2006年,Jboss公司被Redhat公司收購。

4、 Apache

Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。

Apache是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。

本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。

Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多滑拆處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。

到目前為止Apache仍然是世界上用的最多的Web伺服器,世界上很多著名的網站都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。

5、 IIS

Microsoft的Web伺服器產品為InternetInformation Server (IIS), IIS 是允許在公告伍共Intranet或Internet上發布信息的Web伺服器。

IIS是目前最流行的Web伺服器產品之一,很多著名的網站都是建立在IIS的平台上。IIS提供了一個圖形界面的管理工具,稱為 Internet服務管理器,可用於監視配置和控制Internet服務。

IIS是一種Web服務組件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在網路(包括互聯網和區域網)上發布信息成了一件很容易的事。

它提供ISAPI(IntranetServer API)作為擴展Web伺服器功能的編程介面;同時它還提供一個Internet資料庫連接器,可以實現對資料庫的查詢和更新。

Ⅳ 如何用Java實現Web伺服器

一 HTTP協議的作用原理

WWW是以Internet作為傳輸媒介的一個應用系統 WWW網上最基本的傳輸單位是Web網頁 WWW的工作基於客戶機/伺服器計算模型 由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成 兩者之間採用超文本傳送協議(HTTP)進行通信 HTTP協議是基於TCP/IP協議之上的協議 是Web瀏覽器和Web伺服器之間的應用層協議 是通用的 無狀態的 面向對象的協議 HTTP協議的作用原理包括四個步驟

( ) 連接 Web瀏覽器與Web伺服器建立連接 打開一個稱為socket(套接字)的虛擬文件 此文件的建立標志著連接建立成功

( ) 請求 Web瀏覽器通過socket向Web伺服器提交請求 HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞) GET命令的格式為

GET 路徑/文件名 HTTP/

文件名指出所訪問的文件 HTTP/ 指出Web瀏覽器使用的HTTP版本

( ) 應答 Web瀏覽器提交請求後 通過HTTP協議傳送給Web伺服器 Web伺服器接到後 進行事務處理 處理結果又通過HTTP傳回給Web瀏覽器 從而在Web瀏覽器上顯示出所請求的頁面

例 假設客戶機與 /mydir/l建立了連接 就會發送GET命令 GET /mydir/l HTTP/ 主機名為的Web伺服器從它的文檔空間中搜索子目錄mydir的文件l 如果找到該文件 Web伺服器把該文件內容傳送給相應的Web瀏覽器

為了告知 Web瀏覽器傳送內容的類型 Web伺服器首先傳送一些HTTP頭信息 然後傳送具體內容(即HTTP體信息) HTTP頭信息和HTTP體信息之間用一個空行分開

常用的HTTP頭信息有

① HTTP OK

這是Web伺服器應答的第一行 列出伺服器正在運行的HTTP版本號和應答代碼 代碼 OK 表示請求完成

② MIME_Version

它指示MIME類型的版本

③ content_type 類型

這個頭信息非常重要 它指示HTTP體信息的MIME類型 如 content_type text/指示傳送的數據是HTML文檔

④ content_length 長度值

它指示HTTP體信息的長度(位元組)

( ) 關閉連接 當應答結束後 Web瀏覽器與Web伺服器必須斷開 以保證其它Web瀏覽器能夠與Web伺服器建立連接

二絕敗胡 Java實現Web伺服器功能的程序設計

根據上述HTTP協議的作用原理 實現GET請求的Web伺服器程序的方法如下

( ) 創並攔建ServerSocket類對象 監聽埠 這是為了區別於HTTP的標准TCP/IP埠 而取的

( ) 等待 接受客戶機連接到埠 得到與客戶機連接的socket

( )枯大 創建與socket字相關聯的輸入流instream和輸出流outstream

( ) 從與socket關聯的輸入流instream中讀取一行客戶機提交的請求信息 請求信息的格式為 GET 路徑/文件名 HTTP/

( ) 從請求信息中獲取請求類型 如果請求類型是GET 則從請求信息中獲取所訪問的HTML文件名 沒有HTML文件名時 則以l作為文件名

( ) 如果HTML文件存在 則打開HTML文件 把HTTP頭信息和HTML文件內容通過socket傳回給Web瀏覽器 然後關閉文件 否則發送錯誤信息給Web瀏覽器

( ) 關閉與相應Web瀏覽器連接的socket字

下面的程序是根據上述方法編寫的 可實現多線程的Web伺服器 以保證多個客戶機能同時與該Web伺服器連接

程序 WebServer java文件

//WebServer java 用JAVA編寫Web伺服器

import java io *

import *

public class WebServer {

public static void main(String args[]) {

int i= PORT=

ServerSocket server=null

Socket client=null

try {

server=new ServerSocket(PORT)

System out println( Web Server is listening on port +server getLocalPort())

for ( ) {client=server accept() //接受客戶機的連接請求

new ConnectionThread(client i) start()

i++

}

} catch (Exception e) {System out println(e) }

}

}

/* ConnnectionThread類完成與一個Web瀏覽器的通信 */

class ConnectionThread extends Thread {

Socket client //連接Web瀏覽器的socket字

int counter //計數器

public ConnectionThread(Socket cl int c) {

client=cl

counter=c

}

public void run() //線程體

{try {

String destIP=client getInetAddress() toString() //客戶機IP地址

int destport=client getPort() //客戶機埠號

System out println( Connection +counter+ connected to +destIP+ on port +destport+ )

PrintStream outstream=new PrintStream(client getOutputStream())

DataInputStream instream=new DataInputStream(client getInputStream())

String inline=instream readLine() //讀取Web瀏覽器提交的請求信息

System out println( Received +inline)

if (getrequest(inline)) { //如果是GET請求

String filename=getfilename(inline)

File file=new File(filename)

if (file exists()) { //若文件存在 則將文件送給Web瀏覽器

System out println(filename+ requested )

outstream println( HTTP/ OK )

outstream println( MIME_version )

outstream println( Content_Type text/ )

int len=(int)file length()

outstream println( Content_Length +len)

outstream println( )

sendfile(outstream file) //發送文件

outstream flush()

} else { //文件不存在時

String notfound=

Error file not found

outstream println( HTTP/ no found )

outstream println( Content_Type text/ )

outstream println( Content_Length +notfound length()+ )

outstream println( )

outstream println(notfound)

outstream flush()

}

}

long m =

while (m < ) {m ++ } //延時

client close()

} catch (IOException e) {

System out println( Exception +e)

}

}

/* 獲取請求類型是否為 GET */

boolean getrequest(String s) {

if (s length()> )

{if (s substring( ) equalsIgnoreCase( GET )) return true

}

return false

}

/* 獲取要訪問的文件名 */

String getfilename(String s) {

String f=s substring(s indexOf(′ ′)+ )

f=f substring( f indexOf(′ ′))

try {

if (f charAt( )==′/′)

f=f substring( )

} catch ( e) {

System out println( Exception +e)

}

if (f equals( )) f= l

return f

}

/*把指定文件發送給Web瀏覽器 */

void sendfile(PrintStream outs File file) {

try {

DataInputStream in=new DataInputStream(new FileInputStream(file))

int len=(int)file length()

byte buf[]=new byte[len]

in readFully(buf)

outs write(buf len)

outs flush()

in close()

} catch (Exception e) {

System out println( Error retrieving file )

System exit( )

}

}

}

程序中的ConnectionThread線程子類用來分析一個Web瀏覽器提交的請求 並將應答信息傳回給Web瀏覽器 其中 getrequest()方法用來檢測客戶的請求是否為 GET getfilename(s)方法是從客戶請求信息s中獲取要訪問的HTML文件名 sendfile()方法把指定文件內容通過socket傳回給Web瀏覽器

對上述程序的getrequest()方法和相關部分作修改 也能對POST請求進行處理

三 運行實例

為了測試上述程序的正確性 將編譯後的WebServer class ConnectionThread class和下面的l文件置於網路的某台主機的同一目錄中(如 主機NT SRV的C JWEB目錄)

程序 l文件

這是用JAVA寫出的WEB伺服器主頁

年 月 日


首先在該主機上用java命令運行WebServer class

C jweb>java webserver

然後在客戶機運行瀏覽器軟體 在URL處輸入WebServer程序所屬的URL地址(如 ) 就在瀏覽器窗口顯示出指定的HTML文檔

注意 不能預設埠號 如預設 則運行該主機的正常WEB伺服器

lishixin/Article/program/Java/hx/201311/26626

Ⅵ 一個搭建java web伺服器的問題,需求如下

自己寫WEB伺服器一般比較復雜,建議用開源軟體搭建WEB伺服器即可。如果偏向於JAVA開發的話,可以選擇Tomcat

Ⅶ 基於java的web伺服器是什麼意思

基於java的web伺服器是指用java語言寫的web程序可以發布到該伺服器上,通過啟動該伺服器就可以訪問該web項目。任何一個網站都是建立在有伺服器的基礎上的。
目前常用的有tomcat,等

Ⅷ java 如何配置web伺服器

JavaWeb Tomcat伺服器配置過程如下:

Tomcat伺服器埠的配置

Tomcat的所有配置都放在conf文件夾之中,裡面的server.xml文件是配置的核心文件。如果想修改Tomcat伺服器的啟動埠,則可以在server.xml配置文件中的Connector節點進行的埠修改

例如:將Tomcat伺服器的啟動埠由默認的8080改成8081埠

Tomcat伺服器啟動埠默認配置

1 <Connector port="8080" protocol="HTTP/1.1"

2 connectionTimeout="20000"

3 redirectPort="8443" />

將Tomcat伺服器啟動埠修改成8081埠


1 <Connector port="8081" protocol="HTTP/1.1"

2 connectionTimeout="20000"

3 redirectPort="8443" />

這樣就把原來默認Tomcat默認的的8080埠改成了8081埠了,需要注意的是,一旦伺服器中的*.xml文件改變了,則Tomcat伺服器就必須重新啟動,重新啟動之後將重新讀取新的配置信息。因為已經在server.xml文件中將Tomcat的啟動埠修改成了8081,所以Tomcat伺服器啟動時就以8081埠啟動了,如下圖所示: