當前位置:首頁 » 雲伺服器 » 怎樣用java搭建伺服器

怎樣用java搭建伺服器

發布時間: 2023-05-05 18:54:40

java+mysql搭建伺服器

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

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

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

packagecom.hu.demo;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;
publicclassMyDBHelper{
publicstaticfinalStringurl="jdbc:mysql://127.0.0.1/student";
publicstaticfinalStringname="com.mysql.jdbc.Driver";
publicstaticfinalStringuser="root";
="root";
publicConnectionconn=null;
publicPreparedStatementpst=null;
publicDBHelper(Stringsql){
try{
Class.forName(name);//指定連接類型
conn=DriverManager.getConnection(url,user,password);//獲取連接
pst=conn.prepareStatement(sql);//准備執行語句
}catch(Exceptione){
e.printStackTrace();
}
}
publicvoidclose(){
try{
this.conn.close();
this.pst.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}

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

packagecom.hu.demo;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassTest{
staticStringsql=null;
staticDBHelperdb1=null;
staticResultSetret=null;
publicstaticvoidmain(String[]args){
sql="select*fromstuinfo";//SQL語句
db1=newDBHelper(sql);//創建DBHelper對象
try{
ret=db1.pst.executeQuery();//執行語句,得到結果集
while(ret.next()){
Stringuid=ret.getString(1);
Stringufname=ret.getString(2);
Stringulname=ret.getString(3);
Stringudate=ret.getString(4);
System.out.println(uid+" "+ufname+" "+ulname+" "+udate);
}//顯示數據
ret.close();
db1.close();//關閉連接
}catch(SQLExceptione){
e.printStackTrace();
}
}
}

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

㈡ 本人初學java web,現在想把自己的電腦作為伺服器,然後外網來訪問,請問如何搭建

1.在電腦上安裝中間件(tomcat。weblogic。。。。等)發布並啟動服務。設置好埠 比如 80
2.在電腦上安裝花生殼軟體。在軟體里申請域名映射到本機。
3.訪問花生殼域名即可

㈢ 如何搭建java web伺服器

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

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

㈣ 如何用java+tomcat來創建網站伺服器

1、你得要有一個寫好了的java項目
2、你遲液要有一激昌個雲伺服器,或者有一台映射到外網的機器
3、一般項目都用到了資料庫,所以你得安裝一個資料庫
3、在服務上面配置好java環境,安裝好tomcat ,把項目放進去 啟動就可以明旦扒了。

㈤ 怎樣安裝和配置java伺服器

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埠啟動了,如下圖所示:

㈥ 如何創建基本的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();
}}
再簡單不過了。

㈦ java 如何搭建http伺服器

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

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

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

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

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

㈧ 怎樣搭建伺服器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 會顯示一些內容,恭喜你搭建好了。

㈨ 如何用java 5分鍾實現一個最簡單的mysql代理伺服器

首先,准備開發工具套件,我們並不會引入過多工具包,僅僅需要:
java8
vert.x 3
如果你是用maven做為項目管理工具,請將vert.x 3引入:

1
2
3
4
5

<dependency>

<groupId>io.vertx</groupId>

<artifactId>vertx-core</artifactId>

<version>3.3.2</version>

</dependency>手扮旅畢凳

代碼實現:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

package
com.maxleap.mysqlproxy;

import
io.vertx.core.AbstractVerticle;

import
io.vertx.core.Vertx;

import
io.vertx.core.logging.Logger;

import
io.vertx.core.logging.LoggerFactory;

import
io.vertx.core.net.NetClient;

import
io.vertx.core.net.NetServer;

import
io.vertx.core.net.NetSocket;

/**

*
@author sneaky

*
@since 1.0.0

*/

public
class
MysqlProxyServer
{

private
static
final
Logger
logger
=
LoggerFactory.getLogger(MysqlProxyServer.class);

public
static
void
main(String[]
args)
{

Vertx.vertx().deployVerticle(new
MysqlProxyServerVerticle());

}

public
static
class
MysqlProxyServerVerticle
extends
AbstractVerticle
{

private
final
int
port
=
3306;

private
final
String
mysqlHost
=
"10.10.0.6";

@Override

public
void
start()
throws
Exception
{

NetServer
netServer
=
vertx.createNetServer();//創建代理伺服器

NetClient
netClient
=
vertx.createNetClient();//創建連接mysql客戶端

netServer.connectHandler(socket
->
netClient.connect(port,
mysqlHost,
result
->
{

//響應來自客戶端的連接請求,成功之後,在建立一個與目標mysql伺服器的連接

if
(result.succeeded())
{

/缺團/與目標mysql伺服器成功連接連接之後,創造一個MysqlProxyConnection對象,並執行代理方法

new
MysqlProxyConnection(socket,
result.result()).proxy();

㈩ 如何用Java實現FTP伺服器

FTP(File Transfer Protocol 文件傳輸協議)是Internet 上用來傳送文件的協議。在Internet上通過FTP 伺服器可以進行文件的上傳(Upload)或下載(Download)。FTP是實時聯機服務,在使用它之前必須是具有該服務的一個用戶(用戶名和口令),工作時客戶端必須先登錄到作為伺服器一方的計算機上,用戶登錄後可以進行文件搜索和文件傳送等有關操作,如改變當前工作目錄、列文件目錄、設置傳輸參數及傳送文件等。使用FTP可以傳送所有類型的文件,如文本文件、二進制可執行文件、圖象文件、聲音文件和數據壓縮文件等。
FTP 命令
FTP 的主要操作都是基於各種命令基礎之上的。常用的命令有:
設置傳輸模式,它包括ASCⅡ(文本) 和BINARY 二進制模式;
目錄操作,改變或顯示遠程計算機的當前目錄(cd、dir/ls 命令);
連接操作,open命令用於建立同遠程計算機的連接;close命令用於關閉連接;
發送操作,put命令用於傳送文件到遠程計算機;mput 命令用於傳送多個文件到遠程計算機;
獲取操作,get命令用於接收一個文件;mget命令用於接收多個文件。
?


import java.net.Socket;import org.apache.log4j.Logger;/** * 角色——伺服器A * @author Leon * */public class ServerA{ public static void main(String[] args){ final String F_DIR = "c:/test";//根路徑 final int PORT = 22;//監聽埠號 Logger.getRootLogger(); Logger logger = Logger.getLogger("com"); try{ ServerSocket s = new ServerSocket(PORT); logger.info("Connecting to server A..."); logger.info("Connected Successful! Local Port:"+s.getLocalPort()+". Default Directory:'"+F_DIR+"'."); while( true ){ //接受客戶端請求 Socket client = s.accept(); //創建服務線程 new ClientThread(client, F_DIR).start(); } } catch(Exception e) { logger.error(e.getMessage()); for(StackTraceElement ste : e.getStackTrace()){ logger.error(ste.toString()); } } }}import java.io.BufferedReader; import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.io.RandomAccessFile;import java.net.ConnectException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;import java.nio.charset.Charset;import java.util.Random;import org.apache.log4j.Logger;/** * 客戶端子線程類 * @author Leon * */public class ClientThread extends Thread { private Socket socketClient;//客戶端socket private Logger logger;//日誌對象 private String dir;//絕對路徑 private String pdir = "/";//相對路徑 private final static Random generator = new Random();//隨機數 public ClientThread(Socket client, String F_DIR){ this.socketClient = client; this.dir = F_DIR; } @Override public void run() { Logger.getRootLogger(); logger = Logger.getLogger("com"); InputStream is = null; OutputStream os = null; try { is = socketClient.getInputStream(); os = socketClient.getOutputStream(); } catch (IOException e) { logger.error(e.getMessage()); for(StackTraceElement ste : e.getStackTrace()){ logger.error(ste.toString()); } } BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); PrintWriter pw = new PrintWriter(os); String clientIp = socketClient.getInetAddress().toString().substring(1);//記錄客戶端IP String username = "not logged in";//用戶名 String password = "";//口令 String command = "";//命令 boolean loginStuts = false;//登錄狀態 final String LOGIN_WARNING = "530 Please log in with USER and PASS first."; String str = "";//命令內容字元串 int port_high = 0; int port_low = 0; String retr_ip = "";//接收文件的IP地址 Socket tempsocket = null; //列印歡迎信息 pw.println("220-FTP Server A version 1.0 written by Leon Guo"); pw.flush(); logger.info("("+username+") ("+clientIp+")> Connected, sending welcome message..."); logger.info("("+username+") ("+clientIp+")> 220-FTP Server A version 1.0 written by Leon Guo"); boolean b = true; while ( b ){ try { //獲取用戶輸入的命令 command = br.readLine(); if(null == command) break; } catch (IOException e) { pw.println("331 Failed to get command"); pw.flush(); logger.info("("+username+") ("+clientIp+")> 331 Failed to get command"); logger.error(e.getMessage()); for(StackTraceElement ste : e.getStackTrace()){ logger.error(ste.toString()); } b = false; } /* * 訪問控制命令 */ // USER命令 if(command.toUpperCase().startsWith("USER")){ logger.info("(not logged in) ("+clientIp+")> "+command); username = command.substring(4).trim(); if("".equals(username)){ pw.println("501 Syntax error"); pw.flush(); logger.info("(not logged in) ("+clientIp+")> 501 Syntax error"); username = "not logged in"; } else{ pw.println("331 Password required for " + username); pw.flush(); logger.info("(not logged in) ("+clientIp+")> 331 Password required for " + username); } loginStuts = false; } //end USER // PASS命令 else if(command.toUpperCase().startsWith("PASS")){ logger.info("(not logged in) ("+clientIp+")> "+command); password = command.substring(4).trim(); if(username.equals("root") && password.equals("root")){ pw.println("230 Logged on"); pw.flush(); logger.info("("+username+") ("+clientIp+")> 230 Logged on");// logger.info("客戶端 "+clientIp+" 通過 "+username+"用戶登錄"); loginStuts = true; } else{ pw.println("530 Login or password incorrect!"); pw.flush(); logger.info("(not logged in) ("+clientIp+")> 530 Login or password incorrect!"); username = "not logged in"; } } //end PASS // PWD命令 else if(command.toUpperCase().startsWith("PWD")){ logger.info("("+username+") ("+clientIp+")> "+command); if(loginStuts){// logger.info("用戶"+clientIp+":"+username+"執行PWD命令"); pw.println("257 /""+pdir+"/" is current directory"); pw.flush(); logger.info("("+username+") ("+clientIp+")> 257 /""+pdir+"/" is current directory"); } else{ pw.println(LOGIN_WARNING); pw.flush(); logger.info("("+username+") ("+clientIp+")> "+LOGIN_WARNING); } } //end PWD // CWD命令 else if(command.toUpperCase().startsWith("CWD")){ logger.info("("+username+") ("+clientIp+")> "+command); if(loginStuts){ str = command.substring(3).trim(); if("".equals(str)){ pw.println("250 Broken client detected, missing argument to CWD. /""+pdir+"/" is current directory."); pw.flush(); logger.info("("+username+") ("+clientIp+")> 250 Broken client detected, missing argument to CWD. /""+pdir+"/" is current directory."); } else{ //判斷目錄是否存在 String tmpDir = dir + "/" + str; File file = new File(tmpDir); if(file.exists()){//目錄存在 dir = dir + "/" + str; if("/".equals(pdir)){ pdir = pdir + str; } else{ pdir = pdir + "/" + str; }// logger.info("用戶"+clientIp+":"+username+"執行CWD命令"); pw.println("250 CWD successful. /""+pdir+"/" is current directory"); pw.flush(); logger.info("("+username+") ("+clientIp+")> 250 CWD successful. /""+pdir+"/" is current directory"); } else{//目錄不存在 pw.println("550 CWD failed. /""+pdir+"/": directory not found."); pw.flush(); logger.info("("+username+") ("+clientIp+")> 550 CWD failed. /""+pdir+"/": directory not found.");

熱點內容
安卓手機怎麼找微信隱藏對話 發布:2025-05-14 23:07:47 瀏覽:336
怎麼查看泰拉伺服器ip 發布:2025-05-14 23:03:29 瀏覽:72
c語言學生成績查詢系統 發布:2025-05-14 22:58:30 瀏覽:4
怎麼進別人的伺服器 發布:2025-05-14 22:45:55 瀏覽:772
用編程寫音樂 發布:2025-05-14 22:45:08 瀏覽:782
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:847
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350
如何把迷你世界的伺服器搞崩 發布:2025-05-14 22:37:15 瀏覽:94
如何讓安卓卡死機 發布:2025-05-14 22:36:27 瀏覽:634
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:804