1、如何用自己的電腦做伺服器,用java語言寫伺服器程序
電腦不是伺服器,但是他也算一個伺服器,怎麼說了,java分三種,比如JAVAEE,企業級開發的,web開發,有很多伺服器,apache、tomcat等都是主流的web伺服器軟體,開發成功,部署到他們上面就可以運行了,
2、怎麼把寫好的JAVA網站部署到伺服器上
一.下載
J2SDK下載
http://java.sun.com/j2se/1.4.2/download.html
下載版本是j2sdk-1_4_2_08
ECLIPSE下載
http://www.eclipse.org/downloads/index.php
下載版本是eclipse-SDK-3.0.2-win32
ECLIPSE 插件下載
中文包:
http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip
Tomcat插件Sysdeo Eclipse Tomcat Launcher plugin:
http://www.sysdeo.com/eclipse/tomcatPluginV3.zip
TOMCAT下載
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
下載版本是jakarta-tomcat-5.0.28
二.安裝
1.先安裝j2sdk
我安裝路徑是:D:\Program Files\Java\j2sdk
2.再安裝eclipse
Eclipse是綠色軟體,不需要安裝,把下載回來的eclipse壓縮包解壓就可以了
我安裝的路徑是:D:\Program Files\Java\eclipse
3.安裝tomcat
下載回來的是一安裝文件,按照安裝提示進行就可以了
我安裝的路徑是:D:\Program Files\Java\Tomcat
4.安裝eclipse插件
中文包
直接將壓縮包NLpack-eclipse-SDK-3.0.x-win32內features和plugins兩文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。
Tomcat插件
將壓縮包tomcatPluginV3解壓,把plugins文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。
三.環境配置
1.系統環境變數配置
右擊「我的電腦」->高級->環境變數,
設置JAVA_HOME變數指向其安裝的目錄「D:\Program Files\Java\j2sdk」;
TOMCAT_HOME變數指向其安裝的目錄「D:\Program Files\Java\Tomcat」;
PATH變數中含有「%JAVA_HOME%\bin;」;
CLASSPATH變數含有「%JAVA_HOME%\lib\tools.jar;」;
2.eclipse中java運行環境的配置
在eclipse主窗口中,「窗口」->首選項->java->已安裝的JRE,選我們已經安裝的j2sdk
3. 配置Sysdeo Tomcat 插件
在eclipse主窗口中,「窗口」->首選項->tomcat,tomcat version 選 version 5.x(我們安裝的版本),tomcat home 處填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到Advanced選項,在tomcat base處再填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到JVM Setting選項,確定jre是你已經安裝的j2sdk版本,我們這里選j2sdk。
切換到Tomcat Manger App,為管理界面增加一個用戶。
最後按應用按鈕,然後在確定。
檢查配置是否成功,只需在eclipse主窗口中,按tomcat運行按鈕,然後在瀏覽器里的地址欄里輸入http://localhost:8080,如果出現tomcat 的頁面,那就證明配置成功了。
四.編寫程序
1.創建一個Tomcat項目
右擊「包資源管理器」窗口中的空白處,新建->Tomcat Project, 在項目名中填寫項目名字,在這里我填tomcat_test,點擊「完成」即可。
2.創建一個JSP頁面
在包資源管理器中,右擊「tomcat_test」,新建->文件, 在文件名中填寫HelloWorld.jsp(擴展名不能缺),在文本編輯窗口輸入如下代碼:
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
然後保存。
五.部署JSP頁面
這里的部署我使用比較簡單的方法:首先,把上述放在eclipse的workpalce目錄的tomcat_test目錄拷到tomcat目錄下的webapps目錄里,然後對conf目錄里的server.xml進行文本編輯,在</engin>前加入如下host元素:
<Host name="*.*.*.*" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
然後保存,接著啟動tomcat,那樣只要你在瀏覽器窗口中輸入http://*.*.*.*:8080/tomcat_test/HelloWorld.jsp瀏覽器就會顯示「Hello World」,這樣說明你的jsp頁面部署發布成功,別人就能在網上訪問你的頁面了。
(*.*.*.*是指安裝了tomcat伺服器的主機IP地址)
六.幾點說明
(1)選j2sdk而不是jre,是因為j2sdk除了有java的運行環境還有java程序所需要的類,而jre只有運行環境。
(2)由於軟體本身升級比較頻繁,經常需要重新設置使用的環境變數或者重新配置,例如把JDK版本從1.3升級到1.4,即JDK目錄名可能要從「j2sdk1.3」改為「j2sdk1.4」,如果是這樣的話,那麼eclipse可能會無法再啟動了(它要從環境變數中尋找JAVA_HOME變數,而JAVA_HOME變數值已經從「j2sdk1.3」改為「j2sdk1.4」了)。同理, jakarta-tomcat這個軟體升級比較頻繁,現在結合eclipse來使用Tomcat的,那麼每次Tomcat升級,可能都要在eclipse中重新設置一下Tomcat的安裝目錄。如果按照傳統的安裝方法,我們每次升級軟體都要進行設置或配置,這樣非常麻煩。對於此類問題,解決的方法很簡單,只要把默認的軟體安裝目錄名去掉版本號即可(如果擔心忘記版本號,只要在目錄中添加一個readme文件加以說明即可)。上述的安裝過程就使用了這種方法。
3、java伺服器端「/「文件路徑如何書寫?
在java中路徑都這么寫:\\ , 這個就是路徑分隔符,以後就不用「/」了吧
不管是實在windows還是在linux中,你都用「\\」作為路徑分隔符就對了
File.separator()這個方法是沒什麼問題,但是,你如果傳入字元串後,
使用File.separator來split,可能會出錯的哦,你在所有的地方,都用「\\」,
肯定是不會錯的啦。
至於你說的json中也是,在java中就是用\\,這與json無關,而是轉義導致的
4、怎麼用Java寫一個HTTP伺服器
java網路編程。現在可以用nio的。netty框架很受歡迎。網頁鏈接
5、如何用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瀏覽器上顯示出所請求的頁面。
6、求用java寫一個ftp伺服器客戶端程序。
import java.io.*;
import java.net.*;public class ftpServer extends Thread{ public static void main(String args[]){
String initDir;
initDir = "D:/Ftp";
ServerSocket server;
Socket socket;
String s;
String user;
String password;
user = "root";
password = "123456";
try{
System.out.println("MYFTP伺服器啟動....");
System.out.println("正在等待連接....");
//監聽21號埠
server = new ServerSocket(21);
socket = server.accept();
System.out.println("連接成功");
System.out.println("**********************************");
System.out.println("");
InputStream in =socket.getInputStream();
OutputStream out = socket.getOutputStream();
DataInputStream din = new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
System.out.println("請等待驗證客戶信息....");
while(true){
s = din.readUTF();
if(s.trim().equals("LOGIN "+user)){
s = "請輸入密碼:";
dout.writeUTF(s);
s = din.readUTF();
if(s.trim().equals(password)){
s = "連接成功。";
dout.writeUTF(s);
break;
}
else{s ="密碼錯誤,請重新輸入用戶名:";<br> dout.writeUTF(s);<br> <br> }
}
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}
System.out.println("驗證客戶信息完畢...."); while(true){
System.out.println("");
System.out.println("");
s = din.readUTF();
if(s.trim().equals("DIR")){
String output = "";
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
for(int i=0;i<dirStructure.length;i++){
output +=dirStructure[i]+"\n";
}
s=output;
dout.writeUTF(s);
}
else if(s.startsWith("GET")){
s = s.substring(3);
s = s.trim();
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
String e= s;
int i=0;
s ="不存在";
while(true){
if(e.equals(dirStructure[i])){
s="存在";
dout.writeUTF(s);
RandomAccessFile outFile = new RandomAccessFile(initDir+"/"+e,"r");
byte byteBuffer[]= new byte[1024];
int amount;
while((amount = outFile.read(byteBuffer)) != -1){
dout.write(byteBuffer, 0, amount);break;
}break;
}
else if(i<dirStructure.length-1){
i++;
}
else{
dout.writeUTF(s);
break;
}
}
}
else if(s.startsWith("PUT")){
s = s.substring(3);
s = s.trim();
RandomAccessFile inFile = new RandomAccessFile(initDir+"/"+s,"rw");
byte byteBuffer[] = new byte[1024];
int amount;
while((amount =din.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);break;
}
}
else if(s.trim().equals("BYE"))break;
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}
din.close();
dout.close();
in.close();
out.close();
socket.close();
}
catch(Exception e){
System.out.println("MYFTP關閉!"+e);
}
}}
7、java客戶端如何向伺服器txt文件寫入信息
客戶端要向伺服器txt文件寫入信息,必須得調用伺服器端得java方法,io讀寫txt文件。客戶端用非同步調用效果更好,客戶端非同步傳遞要寫入得信息到伺服器上,由伺服器上得方法執行寫入
8、Java如何往伺服器寫數據
package com.temp.test;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test {
static long start=0;
static long end=0;
static long run;
static boolean view=true;
static SimpleDateFormat sdf = new SimpleDateFormat("", Locale.SIMPLIFIED_CHINESE);
public static void start(){
start=System.currentTimeMillis();
}
public static void end(){
end=System.currentTimeMillis();
}
public static void run (HttpServletRequest request) throws IOException{
write(" -------------------");
write("xx"); // 寫內容到d:/abc.txt
write(" -------------------\r\n");
}
}
public static void write(String content) throws IOException {
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("d:/abc.txt", true)));
out.write(content+"\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}}
9、java編寫的程序怎樣放在伺服器上,並通過互聯網打開操作該程序
是這樣:
首先。可以,只要對方的瀏覽器支持。但是我記得大部分瀏覽器是不支持的。我用的只有世界之窗支持java的ui(我這里指的是java application)
其次,如果你是用的java applet的話,那就好辦了。幾乎所有的瀏覽器都是支持的。
最後,一般的伺服器。就是免費的那種,不支持這樣的腳本。所以上傳是不行的。平時開發java用的軟體一般是 tomcat ,可以自己在自己的計算機上建立一個伺服器出來
就這幾點。。歡迎採納
10、Java用來編寫客戶端還是伺服器端?
兩者都可以...不過java的垃圾回收機制因為是自動的所以執行客戶端程序的時候效率特別慢...一般用於伺服器端或WEB開發...學java的重點就是以j2ee技術為核心的。想寫客戶端之類的用C語言是最佳的..不過內存處理機制全部自己編寫..難度不是一般的高。