1、什麼是web伺服器?常見的可以部署的java web應用的有哪些
web伺服器也就是網站伺服器的意思.它是指位於IDC機房環境下運行的伺服器.通常配置較高.網路環境也比較好.可以為網站的運行提供一個有力支撐.伺服器是獨立的硬體設備.用戶可以根據需要安裝各種操作系統以及配置各種網站環境.所以任何一台WEB伺服器都支持JAVA的網站.只是配置JAVA環境一般要專業人員才可以.IDC大多不提供該環境的配置.
海騰數據楊闖為你解答.希望對你有幫助.
2、如何用Java實現Web伺服器
如何用Java實現Web伺服器 一、HTTP協議的作用原理
WWW是以Internet作為傳輸媒介的一個應用系統,WWW網上最基本的傳輸單位是Web網頁。WWW的工作基於客戶機/伺服器計算模型,由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成,兩者之間採用超文本傳送協議(HTTP)進行通信。HTTP協議是基於TCP/IP協議之上的協議,是Web瀏覽器和Web伺服器之間的應用層協議,是通用的、無狀態的、面向對象的協議。HTTP協議的作用原理包括四個步驟:
(1) 連接:Web瀏覽器與Web伺服器建立連接,打開一個稱為socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功。
(2) 請求:Web瀏覽器通過socket向Web伺服器提交請求。HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:
GET 路徑/文件名 HTTP/1.0
文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。
(3) 應答:Web瀏覽器提交請求後,通過HTTP協議傳送給Web伺服器。Web伺服器接到後,進行事務處理,處理結果又通過HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請求的頁面。
3、JavaWeb中常用的WEB伺服器有哪些
tomcat伺服器比較常用,簡單好用,並且是輕量級伺服器。平時自己測試用tomcat很方便,如果用戶訪問量不是特別大的話,用他都是非常好的。有什麼不懂可以追問
4、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埠啟動了,如下圖所示:
5、基於java的web伺服器是什麼意思?
基於java的web伺服器是指用java語言寫的web程序可以發布到該伺服器上,通過啟動該伺服器就可以訪問該web項目。任何一個網站都是建立在有伺服器的基礎上的。
目前常用的有tomcat,等
6、javaweb項目中的servlet部署在伺服器哪裡
你這個問題不是把servlet放哪?一個頁面對應N個Servlet ,servlet對應XML配置文件,你要在Tomcat的webapps下部放一個項目上去!
比如說,index.jsp頁面有登錄功能;訪問LoginServlet;
首先webapp下的文件包目錄結構應該是這樣的:
項目名稱(text)進去後是WEB-INF文件夾和你的頁面 ,jsp。在WEB-INF里有classes這是你對應登錄功能servlet的二進制文件(.class)文件 【包含包名】然後還有一個Web.xml配置文件,配置你點登錄按鈕時要攔截到serlvet的 <servlet> 和 <url-pattern>;如果有其他依賴包你可以在WEB-INF下建立lib文件夾將jar包拷貝到這裡面來!沒有跳過!
7、如何搭建java web伺服器
1.由於伺服器配置比較低綜合考慮,選擇ubuntu系統進行搭建
2. 登陸阿里雲伺服器:
方法一:使用xshell軟體登陸伺服器
主機填寫ip地址
埠號選擇22
連接登陸伺服器
方法二:使用阿里雲管理終端
ssh root@伺服器ip地址
password:輸入密碼
3.如何上傳文件
方法一:windows和linux上傳或下載某個文件可以使用rz,sz
sudo apt-get install lrzsz
安裝完成後進入准備存放改文件的文件夾輸入rz,就會跳出文件選擇框
例如:#cd apache-tomcat-7.0.69/bin rz
cd後有空格
cd ~:返回最上層
cd ..:返回上一層
cd -:返回最近操作
方法二:使用xshell中的插件Xftp
4.安裝及配置環境
安裝lsb指令
ubunu快捷安裝需要的命令,更新一下:
自帶源在大陸不好,更新即可解決
1.sudo apt-get update
2.apt-get install yum yum install -y redhat-lsb
輸入lsb指令查看當前版本
查看版本號
lsb_release -a查看當前位數
getconf LONG_BIT
安裝jdk:
方法一:ubuntu自動安裝jdk
sudo apt-get install jdk
安裝完成後配置環境:
使用vim指定編輯etc目錄下profile文件,添加export
#vim /etc/profile
添加進profile文件
JAVA_HOME=/home/java/jdk1.6.0_12
export JRE_HOME=/home/liujicheng/java/jdk1.6.0_12/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
//java存放位置請自行更改
//使用 which java 查看jdk所在文件夾
方法二:本地下載jdk上傳
下載對應系統32位或64位的tar.gz文件
建議:經過還幾次對伺服器進行環境搭建,已經有了一點小小的見解,建議不要使用過低版本的JDK,例如伺服器JDK版本為1.5而項目JDK版本為1.8的情況,就會出現無法伺服器無法運行.war文件的情況,建議版本為1.7
上傳tar.gz文件有兩種方法
11.輸入命令行 rz 選擇安裝包上傳1使用rz時,注意安裝 2.通過xftp將上傳創建一個java文件夾
mkdir java
輸入安裝命令,將上傳的.tar.gz文件解壓到創建為java文件夾中
sudo tar -zxvf jdk-7u80-linux-x64.tar.gz -C /root/java
設置環境變數
使用vim指定編輯etc目錄下profile文件,添加export
#vim /etc/profile添加進profile文件
JAVA_HOME=/root/java/jdk1.7.0_80
export JRE_HOME=/root/java/jdk1.7.0_80/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
//java存放位置請自行更改//使用 which java 查看jdk所在文件夾
選擇E,然後輸入i 進行寫操作
最後 :x退出並保存
設置默認JDK
12345sudo update-alternatives --install /usr/bin/java java /root/java/jdk1.7.0_80/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /root/java/jdk1.7.0_80/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /root/java/jdk1.7.0_80/bin/jar 300 sudo update-alternatives --install /usr/bin/javah javah /root/java/jdk1.7.0_80/bin/javah 300 sudo update-alternatives --install /usr/bin/javap javap /root/java/jdk1.7.0_80/bin/javap 300如果之後一個版本顯示:
There is only one alternative in link group java (providing /usr/bin/java):
/usr/lib/jvm/jdk1.7.0_60/bin/java
否者,選擇合適的jdk
檢查jdk是否安裝成功,輸出版本號及對應信息即安裝成功
#java
#javac
#java -version
安裝tomcat
方法一:ubuntu自動安裝tomcat
sudo apt-get install tomcat
添加jdk和jre環境變數
JAVA_HOME=/home/java/jdk1.6.0_12
JRE_HOME=/home/homer/eclipse/jdk1.6.0_12/jre
PATH=$JAVA_HOME/bin:$JRE_HOME:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/opt/apache-tomcat-7.0.29
啟動tomcat
cd apache-tomcat-7.0.69/bin ./startup.sh
出現提示說明配置成功
方法二:上傳tomcat並解壓
通過上述上傳文件方法上傳後
使用tar指令解壓
tar -zxvf apache-tomcat-8.0.24.tar.gz
然後進入apache-tomcat-7.0.69文件夾
# cd apache-tomcat-8.0.24 /bin/
啟動tomcat
cd apache-tomcat-8.0.24 /bin/ ./startup.sh
顯示如下說明成功
最後輸入:http://x.x.x.x:8080/ (x代表ip地址),顯示tomcat首頁說明配置成功
安裝Mysql
ubuntu下自動安裝
sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
設置資料庫密碼:
檢查Mysql是否安裝成功
sudo netstat -tap | grep mysql
登陸Mysql
mysql -uroot -p密碼
成功:
查看資料庫
show databases
將.sql文件導入
//先選定資料庫
use iswust
source /root/test.sql//source /文件夾/sql文件名
select * from score
5.java工程打包上傳並運行
右鍵選中java項目,WAR Export 將文件以war格式導出
(注意:java工程的jdk一定要先降低到與伺服器的jdk版本相同,例如java工程為1.8而伺服器為1.6則會報錯)
降低jdk方法:
並通過XFTP或上述的上傳文件方法,上傳至apache-tomcat-7.0.69/webapps中
8、主要的商用的Java Web應用伺服器有哪些?
Tomcat是一個開放源代碼、運行servlet和JSP Web應用軟體的基於Java的Web應用軟體容器。Tomcat由Apache-Jakarta子項目支持並由來自開放性源代碼Java社區的志願者進行維護。Tomcat Server是根據servlet和JSP規范進行執行的,因此我們就可以說Tomcat Server也實行了Apache-Jakarta規范且比絕大多數商業應用軟體伺服器要好。做為web容器輕量小巧,如果你不是使用ejb開發,那就可以用它,快速方便。jboss:JBoss伺服器是一種優秀的J2EE伺服器,和BEA的Weblogic,IBM的Websphere屬於同類產品, JBoss為完全開放源碼的免費軟體,而且具有良好的運行效率和可靠性,因此已經得到越來越多的J2EE應用開發者的青睞。他其中的web容器就是用tomcat,不過支持了ejb,速度慢一些,不適合開發階段,可以用於真實運行環境(免費)。WebLogic 是一套基於JAVA功能強大的電子商務套件,提供了許多功能強大的中間件以方便編程人員編寫的JSP、SERVLET 等電子商務應用,可以為企業提供一個完整的商務應用解決方案。不適合開發階段,太慢了,適合於運行環境(收費)。
9、Java Web伺服器
我現寫了一個,可以訪問到靜態資源。你看情況多給點分吧
另外eclipse還沒有5.5,5.5的貌似是myEclipse吧
其中port指埠,默認是地址是http://127.0.0.1:8088/
其中basePath指資源根路徑,默認是d:
可以通過命令行參數對其進行賦值
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URLDecoder;
public class SimpleHttpServer {
private static int port = 8088;
private static String basePath = "D:/";
public static void main(String[] args) {
if (args.length >= 1) {
basePath = args[0];
}
if (args.length >= 2) {
port = Integer.parseInt(args[1]);
}
System.out.println("server starting:");
System.out.println("base path:" + basePath);
System.out.println("Listening at:" + port);
startServer();
System.out.println("server started succesfully");
}
private static void startServer() {
new Thread() {
public void run() {
try {
ServerSocket ss = new ServerSocket(port);
while (true) {
final Socket s = ss.accept();
new Thread() {
public void run() {
try {
OutputStream socketOs = s.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line;
String headerLine = null;
while ((line = br.readLine()) != null) {
if (headerLine == null) {
headerLine = line;
}
if ("".equals(line)) {
break;
}
}
String target = headerLine.replaceAll("^.+ (.+) HTTP/.+$", "$1");
String queryString;
String[] tmp = target.split("\\?");
target = URLDecoder.decode(tmp[0], "utf-8");
target = target.endsWith("/") ? target.substring(0, target.length() - 1) : target;
if (tmp.length > 1) {
queryString = tmp[1];
} else {
queryString = "";
}
String filePath = basePath + target;
File f = new File(filePath);
if (!f.exists()) {
StringBuffer content = new StringBuffer();
content.append("<html><head><title>Resource Not Found</title></head><body><h1>The requested resource ")
.append(target).append(" is not found.</h1></body></html>");
StringBuffer toWrite = new StringBuffer();
toWrite.append("HTTP/1.1 404 Not Found\r\nContent-Length:").append("" + content.length()).append("\r\n\r\n")
.append(content);
socketOs.write(toWrite.toString().getBytes());
} else if (f.isDirectory()) {
StringBuffer content = new StringBuffer();
content.append("<html><head><title>").append(target).append(
"</title></head><body><table border='1' width='100%'>");
content.append("<tr><th align='left' width='40px'>").append("Path").append("</th><td>").append(target.length()>0?target:"/")
.append("</td></tr>");
content.append("<tr><th align='left'>Type</th><th align='left'>Name</th></tr>");
if (!basePath.equals(filePath)) {
content.append("<tr><td>Directory</td><td>").append("<a href='").append(
target.substring(0, target.lastIndexOf("/") + 1)).append("'>..</a>").append("</td></tr>");
}
File[] files = f.listFiles();
for (File file : files) {
content.append("<tr><td>");
if (file.isFile()) {
content.append("File</td><td>");
} else if (file.isDirectory()) {
content.append("Directory</td><td>");
}
content.append("<a href=\"").append(target);
if (!(target.endsWith("/") || target.endsWith("\\"))) {
content.append("/");
}
content.append(file.getName()).append("\">").append(file.getName()).append("</a></td></tr>");
}
content.append("</table></body></html>");
StringBuffer sb = new StringBuffer();
sb.append("HTTP/1.1 200 OK\r\nCache-Control: max-age-0\r\n");
sb.append("Content-Length:").append("" + content.length()).append("\r\n\r\n");
sb.append(content);
socketOs.write(sb.toString().getBytes());
} else if (f.isFile()) {
socketOs.write(("HTTP/1.1 200 OK\r\nCache-Control: max-age-0\r\nContent-Length:" + f.length() + "\r\n\r\n")
.getBytes());
byte[] buffer = new byte[1024];
FileInputStream fis = new FileInputStream(f);
int cnt = 0;
while ((cnt = fis.read(buffer)) >= 0) {
socketOs.write(buffer, 0, cnt);
}
fis.close();
}
socketOs.close();
} catch (Exception e) {
try {
s.getOutputStream().write("HTTP/1.1 500 Error\r\n".getBytes());
ByteArrayOutputStream byteos = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(byteos);
printStream
.write("<html><head><title>Error 500</title></head><body><h1>Error 500</h1><pre style='font-size:15'>"
.getBytes());
e.printStackTrace(printStream);
printStream.write("</pre><body></html>".getBytes());
byteos.close();
byte[] byteArray = byteos.toByteArray();
s.getOutputStream().write(("Content-Length:" + byteArray.length + "\r\n\r\n").getBytes());
s.getOutputStream().write(byteArray);
s.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}.start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
10、Java Web技術有哪些?伺服器有哪些、種類?
常用的有tomcat、jetty、jboss、weblogic、等。
技術上,有純JSP、SSH框架、EE標准等