如何将.java文件导入JSP页面?

时间:2012-05-24 14:23:08

标签: java eclipse jsp tomcat

这是我第一次尝试将java用于后端网络系统。

我一直在阅读一些关于如何做到这一点的指南,到目前为止我理解以下几点:

  1. 我不允许导入.java文件,而是导入类文件。
  2. <%@ page language =“java”import =“somefile。*”%>这是我导入包的方式。
  3. 导入包后,我需要创建该类的实例。
  4. 然而,我对一些事情感到困惑。

    我现在有一个动态Web项目,在Eclipse IDE中开发并使用TomCat7.0 apache。

    我有一个目录 Java_Resources / SRC / somepackage /

    以及上述目录中的一些.java文件。

    问题1,在Eclipse中,当我运行这些文件时,它们会自动编译。这些类文件在哪里?

    问题2,当我运行以下代码时,我收到了一些错误。我究竟做错了什么?是因为我在正确的目录中没有我的类文件吗?

    <%@ page language="java" import="twitter.*"%>
    
    <%
        JavaFile jf = new Javafile();
    
        String result = jf.searchTweets("someString");
        System.out.println(result);
    %>
    

    错误报告:

    type Exception report
    
    message
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception
    
    org.apache.jasper.JasperException: An exception occurred processing JSP page /hello.jsp at line 10
    
    7: <%@ page language="java" import="twitter.*"%>
    8: 
    9: <%
    10:     Javafile jf = new JavaFile();
    11:     
    12:     String result = jf.searchTweets("someString");
    13:     System.out.println(result);
    

    感谢您的时间和精力。

    注意:我已阅读以下链接,但它们似乎没有提供有关如何编写自己的.java文件并将这些类导入jsp文件的解决方案。

    http://www.jsptut.com/

    How do you import classes in JSP?

    http://www.coderanch.com/t/288534/JSP/java/importing-class-file-jsp

    编辑:我找到了自己的答案。

    这是我原来的目录

    enter image description here

    如您所见,我的WEB-INF / lib是空的。

    所需要做的就是将相关的.jar文件移动到此目录中。

    注意:我已经将相关的.jar文件导入到Eclipse项目中,但似乎我需要将它们移动到WEB-INF / lib中,而不是将它们导入到项目中。

    感谢所有帮助回答我问题的人。

    这是我的最终目录图片enter image description here

2 个答案:

答案 0 :(得分:3)

只有类可以导入.java文件,JSP“编译”到.java文件,因此这个要求也适用于JSP文件。

快速浏览一下API,看来您的导入格式正确;但是,您导入的名称空间错误。 javadoc for the twitter4j API表示您应该导入“twitter4j”名称空间,而不是“twitter”名称空间。

答案 1 :(得分:1)

  
    

问题1,在Eclipse中,当我运行这些文件时,它们会自动编译。这些类文件在哪里?

  

类文件进入WEB-INF/classes目录。

  
    

问题2,当我运行以下代码时,我收到了一些错误。我究竟做错了什么?是因为我在正确的目录中没有我的类文件吗?

  

也许您忘记将twitterXXX.jar(或其他任何名称)放入WEB-INF/lib目录。