① 我正在做一个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 (你需要的那 个名字),前面的/是代表在根目录下~