是在哪个文件里设?

解决方案 »

  1.   

    首先你要把用户转ROOT,再编辑系统环境:在 /etc/profile 文件的最后面加上
    #java environment variable settings
    JAVA_HOME=/var/fcb/software/jdk_1.4.2
    export JAVA_HOME
    CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export CLASSPATH
    保存退出就好
    你可以通过echo $JAVA_HOME查看是否配置上了。
      

  2.   

    修改/etc目录下的profile文件
    PATH=$PATH:/usr/java/j2sdk1.4.2_04/jre/bin:/usr/java/j2sdk1.4.2_04/bin
    Java_HOME=/usr/java/j2sdk1.4.2_04
    export Java_HOME
    JRE_HOME=/usr/java/j2sdk1.4.2_04/jre
    export JRE_HOME
    CLASSPATH=/usr/java/j2sdk1.4.2_04/lib:/usr/java/j2sdk1.4.2_04/jre/lib
    export CLASSPATH
      

  3.   

    参考ncowboy@geisha:~> cat /etc/profile.d/java.sh
    export CATALINA_HOME=/opt/apache-tomcat-6.0.1/
    ncowboy@geisha:~>
      

  4.   

    我是这样设置的,好像没什么用,编译一个servlet时提示出错。设置:
    # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
    # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).CATALINA_BASE=/root/apache-tomcat-6.0.2
    CATALINA_HOME=/root/apache-tomcat-6.0.2
    PATH=$PATH:$CATALINA_HOME/bin
    export CATALINA_BASE CATALINA_HOME PATHif [ "`id -u`" -eq 0 ]; then
      PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
    else
      PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
    fiif [ "$PS1" ]; then
      if [ "$BASH" ]; then
        PS1='\u@\h:\w\$ '
      else
        if [ "`id -u`" -eq 0 ]; then
          PS1='# '
        else
          PS1='$ '
        fi
      fi
    fiexport PATHJava_HOME=/root/jdk1.5
    export Java_HOME
    JRE_HOME=Java_HOME/jre
    export JRE_HOME
    CLASSPATH=Java_HOME/lib;Java_HOME/jre/lib;/root/apache-tomcat-6.0.2/lib/servlet-api.jar;.
    export CLASSPATHumask 022----------------------------------------------------------------
    编译出错
    ----------------------------------------------------------------
    :~/apache-tomcat-6.0.2/webapps/sbd/manage_sys# javac LoginSys.java
    LoginSys.java:6: 软件包 javax.servlet 不存在
    import javax.servlet.ServletException;
                         ^
    LoginSys.java:7: 软件包 javax.servlet.http 不存在
    import javax.servlet.http.HttpServlet;
                              ^
    LoginSys.java:8: 软件包 javax.servlet.http 不存在
    import javax.servlet.http.HttpServletRequest;
                              ^
    LoginSys.java:9: 软件包 javax.servlet.http 不存在
    import javax.servlet.http.HttpServletResponse;
                              ^
    LoginSys.java:11: 找不到符号
    符号: 类 HttpServlet
    public class LoginSys extends HttpServlet {
                                  ^
    LoginSys.java:38: 找不到符号
    符号: 类 HttpServletRequest
    位置: 类 sbd.LoginSys
            public void doGet(HttpServletRequest request, HttpServletResponse response)
                              ^
    LoginSys.java:38: 找不到符号
    符号: 类 HttpServletResponse
    位置: 类 sbd.LoginSys
            public void doGet(HttpServletRequest request, HttpServletResponse response)
                                                          ^
    LoginSys.java:39: 找不到符号
    符号: 类 ServletException
    位置: 类 sbd.LoginSys
                            throws ServletException, IOException {
                                   ^
    LoginSys.java:67: 找不到符号
    符号: 类 HttpServletRequest
    位置: 类 sbd.LoginSys
            public void doPost(HttpServletRequest request, HttpServletResponse response)
                               ^
    LoginSys.java:67: 找不到符号
    符号: 类 HttpServletResponse
    位置: 类 sbd.LoginSys
            public void doPost(HttpServletRequest request, HttpServletResponse response)
                                                           ^
    LoginSys.java:68: 找不到符号
    符号: 类 ServletException
    位置: 类 sbd.LoginSys
                            throws ServletException, IOException {
                                   ^
    LoginSys.java:91: 找不到符号
    符号: 类 ServletException
    位置: 类 sbd.LoginSys
            public void init() throws ServletException {
                                      ^
    LoginSys.java:24: 找不到符号
    符号: 变量 super
    位置: 类 sbd.LoginSys
                    super.destroy(); // Just puts "destroy" string in log
                    ^
    LoginSys.java:49: 找不到符号
    符号: 方法 getClass()
    位置: 类 sbd.LoginSys
                    out.print(this.getClass());
                              ^
    LoginSys.java:78: 找不到符号
    符号: 方法 getClass()
    位置: 类 sbd.LoginSys
                    out.print(this.getClass());
                              ^
    15 错误
      

  5.   

    这是我的源文件:我用eclipse建了个servlet,然后拷到一个.java的文本文件后编译的:
    package sbd;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginSys extends HttpServlet { /**  * Constructor of the object.  */ public LoginSys() { super(); } /**  * Destruction of the servlet. <br>  */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /**  * The doGet method of the servlet. <br>  *  * This method is called when a form has its tag value method equals to get.  *   * @param request the request send by the client to the server  * @param response the response send by the server to the client  * @throws ServletException if an error occurred  * @throws IOException if an error occurred  */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println("  <BODY>"); out.print("    This is "); out.print(this.getClass()); out.println(", using the GET method"); out.println("  </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /**  * The doPost method of the servlet. <br>  *  * This method is called when a form has its tag value method equals to post.  *   * @param request the request send by the client to the server  * @param response the response send by the server to the client  * @throws ServletException if an error occurred  * @throws IOException if an error occurred  */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    String Name=request.getParameter("Name"); out.println("<HTML>"); out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println("  <BODY>"); out.print("    This is "+Name); out.print(this.getClass()); out.println(", using the POST method"); out.println("  </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /**  * Initialization of the servlet. <br>  *  * @throws ServletException if an error occure  */ public void init() throws ServletException { // Put your code here }}
      

  6.   

    还有个问题,就是doget()和dopost()有什么区别?
      

  7.   

    我现在在/etc/profile文件最后加了
    PATH=$PATH:/root/jdk1.5/jre/bin:/root/jdk1.5/bin
    Java_HOME=/root/jdk1.5
    export Java_HOME
    JRE_HOME=/root/jdk1.5/jre
    export JRE_HOME
    CLASSPATH=/root/jdk1.5/lib:/root/jdk1.5/jre/lib:/root/apache-tomcat-6.0.2/lib
    export CLASSPATH但还是不能编译servelt文件。-------------------------------------------------------
    我的ect/profile文件:# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
    # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).CATALINA_BASE=/root/apache-tomcat-6.0.2
    CATALINA_HOME=/root/apache-tomcat-6.0.2
    PATH=$PATH:$CATALINA_HOME/bin
    export CATALINA_BASE CATALINA_HOME PATHif [ "`id -u`" -eq 0 ]; then
      PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
    else
      PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
    fiif [ "$PS1" ]; then
      if [ "$BASH" ]; then
        PS1='\u@\h:\w\$ '
      else
        if [ "`id -u`" -eq 0 ]; then
          PS1='# '
        else
          PS1='$ '
        fi
      fi
    fiexport PATHPATH=$PATH:/root/jdk1.5/jre/bin:/root/jdk1.5/bin
    Java_HOME=/root/jdk1.5
    export Java_HOME
    JRE_HOME=/root/jdk1.5/jre
    export JRE_HOME
    CLASSPATH=/root/jdk1.5/lib:/root/jdk1.5/jre/lib:/root/apache-tomcat-6.0.2/lib
    export CLASSPATHumask 022
      

  8.   

    现在很奇怪,我在/etc/profile中或者/root/.profile中加入
    CLASSPATH=/root/apache-tomcat-6.0.2/lib/servlet-api.jar
    export CLASSPATH
    然后在命令行中:echo $CLASSPATH
    没有任何显示但我在命令行中输入:~# export CLASSPATH=/root/apache-tomcat-6.0.2/lib/servlet-api.jar
    然后export CLASSPATH
    就会出现:/root/apache-tomcat-6.0.2/lib/servlet-api.jar这是怎么回事?
    我的tomcat是6.0.2版
      

  9.   

    /etc/profile是不是要登陆才执行的?
    如果我的服务器仅是用来做服务器,的,有时没登陆怎样启动tomcat?
    在rc.local中写export是不行的。