導航:首頁 > IDC知識 > java構建伺服器

java構建伺服器

發布時間:2020-11-29 16:36:20

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

你如果能獨立寫出一個web Service容器,那你就是大牛了。
web Service + springMVC(SpringBoot)等等開發環境,分分鍾就搞定你的需求了!

2、java 如何搭建http伺服器

看你具體是想做什麼,現在現成的開源的java的http伺服器有很多,像tomcat之類的都有http伺服器功能,如果你只是單純的需要用的話,直接用tomcat就好了

但是如果你是做要自己用java實現一個http伺服器的話就要稍微麻煩一點

http伺服器,本質上還是基於tcpip協議的伺服器,首先用java的ServerSocket監聽一個埠(也可以使用開源的server組件,如quickserver之類的),然後對客戶端發上來的數據進行處理,這里就需要了解一下http協議了,因為上來的數據,都是按照http協議來組織的,你需要將請求數據解析後,將響應數據組織成http的響應,發回給客戶端。這樣一個簡單的http伺服器就實現了。

但是這個請求和響應都有很多種類,一個完整的http伺服器應該要都能夠支持,所以這裡面的工作量還是有一點的。

另外,上面說的http伺服器只是一個靜態的伺服器,如果你想讓你寫的服務具有動態功能,那你的伺服器還得提供javaee的容器功能,這樣做下去,沒准你也能寫一個tomcat出來了……

3、java+mysql搭建伺服器

java+mysql搭建伺服器的步驟如下:

  1、在工程項目中導入mysql-connection-java-5.0.16-bin.jar這個jar包;

  2、編寫一個資料庫管理類(MyDBHelper)用來配置資料庫的屬性:

package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class MyDBHelper {
    public static final String url = "jdbc:mysql://127.0.0.1/student";
    public static final String name = "com.mysql.jdbc.Driver";
    public static final String user = "root";
    public static final String password = "root";
    public Connection conn = null;
    public PreparedStatement pst = null;
    public DBHelper(String sql) {
        try {
            Class.forName(name);//指定連接類型
            conn = DriverManager.getConnection(url, user, password);//獲取連接
            pst = conn.prepareStatement(sql);//准備執行語句
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void close() {
        try {
            this.conn.close();
            this.pst.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

  3、編寫一個測試類(Test)來測試相關資料庫操作:

package com.hu.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test{
    static String sql = null;
    static DBHelper db1 = null;
    static ResultSet ret = null;
    public static void main(String[] args) {
        sql = "select *from stuinfo";//SQL語句
        db1 = new DBHelper(sql);//創建DBHelper對象
        try {
            ret = db1.pst.executeQuery();//執行語句,得到結果集
            while (ret.next()) {
                String uid = ret.getString(1);
                String ufname = ret.getString(2);
                String ulname = ret.getString(3);
                String udate = ret.getString(4);
                System.out.println(uid + " " + ufname + " " + ulname + " " + udate );
            }//顯示數據
            ret.close();
            db1.close();//關閉連接
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

  4、至此就完全了java+mysql伺服器的搭建。

4、編寫代碼,使用java ServerSocket創建伺服器端ServerSocket的過程。

伺服器端代碼:

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public void server(){
        try {
            ServerSocket serverSocket = new ServerSocket(8888); //建立伺服器端的套接字,並監聽8888埠

            Socket socket = serverSocket.accept(); //如果有請求到達,則接受請求,並建立一個新的套接字
            InputStream is = socket.getInputStream(); //獲取此套接字上的輸入流,用於接收消息

            //接下來就是獲取套接字里的位元組流,並轉化為字元串
            byte[] bytes = new byte[1024];
            int count;
            StringBuilder sb = new StringBuilder();
            while((count = is.read(bytes)) != -1){
                sb.append(new String(bytes, 0, count));
            }

            is.close();
            System.out.println(sb.toString());

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        Server s = new Server();
        s.server();
    }

}

另附客戶端:

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;

public class Client {
    public void client(){
        try {
            Socket socket = new Socket(); //建立套接字
            socket.connect(new InetSocketAddress("127.0.0.1", 8888)); //連接到指定IP地址的主機,並指定埠號接收消息

            OutputStream os = socket.getOutputStream(); //獲取此連接上的輸出流,用於發送數據
            os.write(new String("Hello, world!").getBytes()); //將字元串轉化為位元組數組寫入輸出流
            os.flush();//刷新此輸出流,將位元組流寫入它們預期的目標
            os.close(); //關閉連接,否則會報連接重置異常
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Client c = new Client();
        c.client();
    }
}

5、如何搭建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文件有兩種方法

1

1.輸入命令行 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

12345

sudo 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中

6、java搭建分布式集群項目大概需要多少台伺服器

超過一台都可以叫集群,只有一台也可以算分布式,需要多少台伺服器,主要看你的項目有多少模塊,需要多高的性能。沒有什麼硬性要求,不用糾結

7、java使用什麼來構建文件伺服器比較好

沒明白你的意思,你是想做自己的文件伺服器系統還是想指導文件伺服器的硬體配置?

8、怎樣搭建伺服器JAVA環境

1,http://www.oracle.com/technetwork/java/javase/downloads/index.html 這個抄網址下載JDK
2,安裝
3,啟動一個cmd窗口,敲入javac 如果顯示不是命令的話,把環境變數配置一下。
計算機⇒屬性⇒系統保護⇒高級⇒環境變數⇒系統變數⇒path
假如的你的jdk安裝目錄為E:\jdk就把E:\jdk\bin這個地址復制到path裡面去,注意後面加個分號(;)
4,再次運行javac 會顯示一些內容,恭喜你搭建好了。

9、如何創建基本的Java伺服器

以下是Sun提供的一個簡單的「Knock Knock"」伺服器:
import java.net.*;import java.io.*;public class KnockKnockServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4444);
} catch (IOException e) {
System.err.println("Could not listen on port: 4444.");
System.exit(1);
}
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
String inputLine, outputLine;
KnockKnockProtocol kkp = new KnockKnockProtocol();
outputLine = kkp.processInput(null);
out.println(outputLine);
while ((inputLine = in.readLine()) != null) {
outputLine = kkp.processInput(inputLine);
out.println(outputLine);
if (outputLine.equals("Bye."))
break;
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}}
再簡單不過了。

10、java怎麼搭建伺服器

開通伺服器後通過ftp上傳程序,搭建好就行了,有些鏡像需要自己搭,很多雲伺服器都是現成的環境,直接部署就好了

與java構建伺服器相關的知識