① 我正在做一個java代碼 online judge 系統,用java寫的,現在成功使用jsp調用j
不知道你是用什麼原理編譯的,伺服器系統是什麼。
直接用java自帶的類編譯,這個我用過,好像得不到有效的錯誤的信息。也可能是本人水平問題。
直接使用java的Runtime調用系統的命令行來執行,這樣是可以得到返回值的,但如果要高並發要好好研究下,這個東西很占資源,建議完全獨立。並且通用性不高,因為windows和linux的命令是不同的,部署不同的伺服器要寫不同的命令。
另外這個系統不建議做成公開的,原因很簡單,如果什麼都能編譯直接,我可以很簡單的寫代碼來或者系統許可權,放置後門程序,比如我可以寫一個代碼獲取你JSP的所在文件目錄,然後通過IO流寫一個後門JSP,把流輸出成文件放到那個位置,然後你的伺服器就被攻佔了。
② 如何使用eclipse進行嵌入式Linux的開發
工具:
虛擬機Linux:Fedora 9
交叉編譯工具:arm-linux-gcc-3.4.1.tar.bz2
集成開發工具:Eclipse(Linux安裝包中自帶的,安裝Linux時選中安裝)
安裝ARM交叉編譯器
步驟:
1、安裝jdk
jdk(java development kit)即java開發包,其中包含了運行eclipse所需要的jre. ubuntu預設安裝的gnu版本的jre運行效率不高,所以需要安裝sun公司的jre. 首先從sun的網站上下載安裝包jdk-6u7-linux-i586.bin,然後如下進行安裝:
# mkdir -p /opt/java
# ./jdk-6u7-linux-i586.bin // 執行自解壓文件,生成目錄
# mv jdk1.6.0_07 /opt/java // 把目錄移到/opt/java下
# cd /opt/java
# ln -s jdk1.6.0_07 jdk
# mv /etc/alternatives/java /etc/alternatives/java.gnu
# ln -s /opt/java/jdk/bin/java /etc/alternatives/java
# export JAVA_HOME=/opt/java/jdk // 設置環境變數
2、安裝eclipse和cdt
從eclipse網站上下載安裝包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip
# cd /opt
# tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解壓生成eclipse目錄
# export PATH=/opt/eclipse:$PATH
# mkdir -p /opt/cdt
# cd /opt/cdt
# unzip cdt-master-5.0.0.zip
# cp -r plugins/* /opt/eclipse/plugins/
# cp -r features/* /opt/eclipse/features/
二、創建c/c++工程
假設已經在linux上安裝好了arm交叉工具鏈,下面介紹如何創建、交叉編譯和調試c/c++工程,進入eclipse安裝路徑後,運行eclipse。
添加源代碼文件1
添加源代碼文件2
編輯代碼
設置工程屬性,指定交叉工具鏈1
設置工程屬性,指定交叉工具鏈2
設置工程屬性,指定交叉工具鏈3
編譯工程
已生成arm平台可執行代碼
配置調試選項
設置Debugger和 GDB debugger選項
設置連接類型為TCP,目標板的ip地址和調試埠號。埠號任意指定,通常大於1024(避免和系統所用埠號沖突)
在開發板上運行程序,格式如上圖所示:gdbserver是交叉調試輔助程序;192.168.0.150是主機的ip地址;1234是調試埠號,和eclipse調試選項里設定的埠號要一致
點擊Debug,進入調試界面
執行到斷點
eclipse的調試界面和操作和在windows下開發類似。
所需開發工具及環境
虛擬機Linux:Fedora 9
交叉編譯工具:arm-linux-gcc-3.4.1.tar.bz2
集成開發工具:Eclipse(Linux安裝包中自帶的,安裝Linux時選中安裝)
安裝ARM交叉編譯器
1. 安裝。其實很簡單,就是將下載的arm-linux-gcc-3.4.1.tar.bz2解壓到Linux根目錄即可(因為解壓後已經包含了/usr/local目錄,所以要解壓到根目錄),如下命令:
tar-jxvf arm-linux-gcc-3.4.1.tar.bz2-C/
解壓後的目錄/usr/local/arm/3.4.1/
2. 設置環境變數。就是把交叉編譯器的路徑設置到系統環境變數裡面去。
echo$PATH
查看現有的環境變數
如果只想臨時添加交叉編譯器的環境變數(註:臨時添加的系統重啟或注銷後又沒有了),只需在命令行輸入如下命令:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
如果想這個環境變數永久的添加到系統的環境變數中,則你只需把這個命令添加到/root/.bashrc文件的最後一行即可(這個文件是隱藏文件,你要在文件瀏覽器中單擊查看菜單,勾選顯示隱藏文件才能看到)
3. 測試建立的交叉編譯環境。新建一個c程序,文件名:test.c, 如下:
#include<stdio.h>
intmain(void)
{
printf("Hellow world!
");
return0;
}
進行交叉編譯,如下:
arm-linux-gcc-o test test.c
將交叉編譯好的目標文件test下載到ARM開發板中並運行,如下:
./test
輸出結果為:
Hellow world!
用集成開發工具Eclipse來開發嵌入式應用程序
雙擊Eclipse圖標啟動Eclipse
設置Eclipse的工作空間,就是選個目錄,單擊OK
啟動後的主界面
開始新建一個應用程序工程
選擇新建一個C工程,單擊Next
給工程取個名字,這里我就叫test_app;然後選擇工程類型,我選擇了個Hellow world C工程模版,單擊Next
填寫作者、版權等信息,單擊Next
沒什麼選的,點擊Finish
單擊Yes
新建好的項目工程
展開左邊的源代碼目錄,雙擊打開主函數。這里只是輸出一句"Hello World!!!",你可以做一些其他復雜的應用
單擊Project菜單,去掉Build Automatically的勾選,因為勾選的話,每次修改一個地方工程都會自動進行編譯
打開工程的屬性對話框進行編譯選項的設置
我們的應用程序最終要到嵌入式arm上運行,這里就要把gcc改成arm-linux-gcc編譯器,當然前提是你要在你的開發主機上先安裝arm-linux-gcc
C連接器也要改成arm-linux-gcc
這里的Libraries是設置你的應用程序中用到的庫文件,比如應用程序中用到了線程類,則這里在上面添加pthread這個庫,下面就添加這個庫的路徑。如果應用程序沒用到任何庫文件就不用管了
選中左側的工程名,右鍵,在彈出的菜單中選擇Build Project編譯工程
編譯好後的工程,目標文件在Debug目錄下
③ JSP怎麼執行Linux命令
<%try {
Runtime run = Runtime.getRuntime();
run.exec("要執行的命令");
} catch (IOException e) {
}%>
④ 怎麼在linux伺服器上搭建jsp網站
用linux搭建jsp的支持環境,必須要具備以下四個文件:
j2sdk-1_4_2_05-linux-i586-rpm.bin(j2sdk)
jakarta-tomcat-5.0.5(jsp
web伺服器)
mod_jk2.so
(讓apache支持jsp的模塊)
workers2.properties(mod_jk2的配置文件)
(一)安裝j2sdk
第1步:chmod
+x
j2sdk-1_4_2_05-linux-i586-rpm.bin
//設置為可執行文件
第2步:./j2sdk-1_4_2_05-linux-i586-rpm.bin
//運行
運行後,會首先調用more來顯示使用協議,直接按q鍵退出協議畫面,接著會提示
是否同意協議,輸入yes即開始運行。運行完畢後會在當前目錄生成一個名為
j2sdk-1_4_2_05-linux-i586-rpm的文件
第3步:rpm
-ivh
j2sdk-1_4_2_05-linux-i586-rpm
//安裝這個rpm包
會自動安裝到/usr/java/j2sdk-1_4_2_05
第4步:ln
-s
/usr/java/j2sdk-1_4_2_05
/usr/local/j2sdk
//建立符號連接
第5步:設置系統環境變數,編輯/etc/profile文件
vi
/etc/profile
加入如下內容:
export
JAVA_HOME=/usr/local/j2sdk
//此路徑對應於上面的符號連接
export
PATH=$PATH:$JAVA_HOME/bin
export
CLASSPATH=$JAVA_HOME/lib
第6步:重啟linux,讓環境變數生效。在任意目錄下執行如下命令:
java
-version
如果顯示出版本號,則表示j2sdk安裝成功。
(二)安裝tomcat
tomcat
是一款支持jsp的web伺服器,但其對靜態頁面的支持效率遠不如apache
第1步:解壓(由於下載的是二進制包,所以不再需要編譯)
假設壓縮包在
/home/jp/
目錄下
tar
zxvf
jakarta-tomcat-4.1.31.tar.gz
第2步:建立符號連接
ln
-s
/home/jp/jakarta-tomcat-4.1.31
/usr/local/tomcat
⑤ 怎樣使用linux運行java程序
一. 下載jdk5.0 for linux(現在應該有新版本了)
到sun的主頁 http://java.sun.com/j2se/1.5.0/download.jsp 下載jdk安裝文件
二. 安裝 java 環境:
新建終端, 進入 jdk 存放目錄, 執行:
./jdk-1_5_0-linux-i586-rpm.bin
出現 jdk 的安裝 licence, 把它看完後, 會問你是否同意安裝, 鍵入 yes 回車安裝.
執行完後在當前目錄中會存在 jdk-1_5_0-linux-i586-rpm 文件, 你可以用 ls 命令查看. 然後執行
rpm -ivh jdk-1_5_0-linux-i586-rpm
這樣, jdk 默認安裝到 /usr 目錄中去了, 我這里是: /usr/java/jdk1.5.0
三. 需要配置的環境變數
1. PATH環境變數。作用是指定命令搜索路徑,在shell下面執行命令時,它會到PATH變數所指定的路徑中查找看是否能找到相應的命令程序。我們需要把 jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好 PATH變數後,就可以在任何目錄下執行javac/java等工具了。
2. CLASSPATH環境變數。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們 需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄「.」也必須加入到該變數中。
3. JAVA_HOME環境變數。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟體就是通過搜索JAVA_HOME變數來找到 並使用安裝好的jdk。
四. 三種配置環境變數的方法
1. 修改/etc/profile文件
如果你的計算機僅僅作為開發使用時推薦使用這種方法,因為所有用戶的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。
⑥ linux系統下查找index.jsp這個文件,命令應該怎麼寫
不對,你要寫在什麼路徑下.一般是find / -name (你需要的那 個名字),前面的/是代表在根目錄下~