我创建了一个*.java类,在 eclipse要在那个文件夹?我在JSP里怎么来引用它?

解决方案 »

  1.   

    什么意思?你是要在eclipse中建立一个包??右键就可以呀在JSP中引用类
    <@ page import="*.Java类">
      

  2.   

    不是很看得懂你的意思,好像你也不是用myeclipse
    还有我想你在JSP要用的是那个类而不是*.java
    你可以这样
    懒得找或不会找.class文件在哪的话就直接在eclipse中Window->show view->Navigator
    然后就在Navigator视图下到bin目录中一直往下找,找到你的class文件
    找到tomcat的webapp下,你的web项目->WEB-INF->classes(没有的话自己建一个)->你的包名(比如com......)
    然后把那个.class文件copy到那个路径下
    在JSP中这样导入:
    <%@ page import="mypackage.*"%>就可以用了
      

  3.   

    *.java要放什么地方?我分别放在不同地方,有的地方报错,有的没报错,是怎么回事?
      

  4.   


    jsp里面这样引用
    <%
    packagename.classname c=new packagename.classname();
    %>
      

  5.   

    如果你要想做一个Web应用程序的话,我这里建议你先安装一下MyEclipse.
    然后你可以通过菜单中的File->New->Web Project来创建一个Web应用程序.
    然后在Src中建立包,把你说的*.Java放到你建立的包中.
    然后再在JSP中,通过<%@page import="java.util.Date"%>类似这样的方式
    引用你自己包中的类.
      

  6.   

    <@ page import="*.Java类">
    你放到那个文件夹无所谓,在用import的时候加上相对路径就可以,比如你放到org文件夹下的a.java 你在a中用package org.a
    你就可以这样引用<@ page import="org.a">
      

  7.   

    先建个包,java文件就放在包内.jsp引用:<@ page import="包名.类名"> 
      

  8.   

    如果你是要在你的jsp中引用你建的java类的话。
    那么你可以把你的java类放在你建立的任意的一个包里
    在你的jsp中在使用
     <@ page import="包名.类名">
    就行了然后可以在javascript中调用这个类<% 类名 对象名=new 类名() %>
    这样就可以调用类的方法和属性了。 
      

  9.   

    javabean is ok?
    <jsp:usebean id="" scope="" class="" />
      

  10.   

    创建的类:
    CR_BOM01D_DataSource.java:
    package com.JRC.util;
    import java.sql.*;
    import javax.servlet.http.*;import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.lib.*;public class CR_BOM01D_DataSource{ private String     REPORT_NAME="";
        public CR_BOM01D_DataSource(String report_name){
            this.REPORT_NAME=report_name;
        }
        
        /** *//**
         * @return rEPORT_NAME
         */
        public String getREPORT_NAME(){
            return REPORT_NAME;
        }    /** *//**
         * @param report_name 要设置的 rEPORT_NAME
         */
        public void setREPORT_NAME(String report_name){
            REPORT_NAME = report_name;
        }
            /** *//**
         *   连接数据库,通过sql查询语句进行查询,返回结果集
         */
        private static ResultSet getResultSetFromQuery(String query, int scrollType)
            throws SQLException, ClassNotFoundException{
            Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
            final String DBUSERNAME = "DBUSERNAME";
            final String DBPASSWORD = "DBPASSWORD";
            final String CONNECTION_URL = "jdbc:sybase:Tds:172.16.53.182:5000/abcserver1";
            
            java.sql.Connection connection = DriverManager.getConnection(CONNECTION_URL, DBUSERNAME, DBPASSWORD); 
            Statement statement = connection.createStatement(scrollType, ResultSet.CONCUR_READ_ONLY);
            
            return statement.executeQuery(query);    }
        /** *//**
         * 通过sql语句过滤报表数据,在.net就不用怎么惨了
         */
        public boolean isReportSourceInSession(String session_name,HttpSession session) throws ReportSDKException, SQLException, ClassNotFoundException...{
            boolean flag=false;
            try{
                //打开水晶报表
             //String ReportName = "CR_BOM01D"
                ReportClientDocument reportClientDoc = new ReportClientDocument();
                reportClientDoc.open(REPORT_NAME, 0);
                
                String query = "";
                
                ResultSet resultSet = this.getResultSetFromQuery(query,ResultSet.TYPE_SCROLL_INSENSITIVE);
        
                String tableAlias = reportClientDoc.getDatabaseController().getDatabase().getTables().getTable(0).getAlias();
                //把结果集放进报表里,将会自动产生一个datasource
                reportClientDoc.getDatabaseController().setDataSource(resultSet,tableAlias, "resultsetTable");
                session.setAttribute(session_name, reportClientDoc.getReportSource());
                flag=true;
                return flag;
            } catch (Exception e){
                // TODO: handle exception
                e.printStackTrace();
                return flag;
            }        
            
        }


    }/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    CR_BOM01D.jsp:<%@ page import="com.JRC.util %>
    <%@ page import="com.JRC.util.CR_BOM01D_DataSource" %>///这里报错了,提示是:The import com.JRC cannot be resolved,*.java和*.jsp是放在同一个文件夹里的.
    <%--webreporting.jar  --%>
    <%@ page import="com.crystaldecisions.report.web.viewer.*" %>
    <%--jrcerom.jar --%>
    <%@ page import="com.crystaldecisions.reports.sdk.*" %>
    <%    
        CR_BOM01D_DataSource jrcd=new CR_BOM01D_DataSource("CR_BOM01D.rpt");
        //if(!jrcd.isReportSourceInSession("reportSource",session))
        //    response.sendRedirect("error.html");
        CrystalReportViewer crViewer=new CrystalReportViewer();
        crViewer.setOwnPage(true);
        crViewer.setOwnForm(true);
        crViewer.setPrintMode(CrPrintMode.ACTIVEX);
        
        Object reportSource=session.getAttribute("reportSource");
        crViewer.setReportSource(reportSource);
        
        crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);
     %>
      

  11.   

    自建的CR_BOM01D_DataSource.JAVA:
    package com.JRC.util;
    import java.sql.*;
    import javax.servlet.http.*;import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.lib.*;public class CR_BOM01D_DataSource{ private String     REPORT_NAME="";
        public CR_BOM01D_DataSource(String report_name){
            this.REPORT_NAME=report_name;
        }
        
        /** *//**
         * @return rEPORT_NAME
         */
        public String getREPORT_NAME(){
            return REPORT_NAME;
        }    /** *//**
         * @param report_name 要设置的 rEPORT_NAME
         */
        public void setREPORT_NAME(String report_name){
            REPORT_NAME = report_name;
        }
            /** *//**
         *   连接数据库,通过sql查询语句进行查询,返回结果集
         */
        private static ResultSet getResultSetFromQuery(String query, int scrollType)
            throws SQLException, ClassNotFoundException{
            Class.forName("com.sybase.jdbc3.jdbc.SybDriver");
            final String DBUSERNAME = "sc";
            final String DBPASSWORD = "suntek";
            final String CONNECTION_URL = "jdbc:sybase:Tds:172.16.53.182:5000/afcserver1";
            
            java.sql.Connection connection = DriverManager.getConnection(CONNECTION_URL, DBUSERNAME, DBPASSWORD); 
            Statement statement = connection.createStatement(scrollType, ResultSet.CONCUR_READ_ONLY);
            
            return statement.executeQuery(query);    }
        /** *//**
         * 通过sql语句过滤报表数据,在.net就不用怎么惨了
         */
        public boolean isReportSourceInSession(String session_name,HttpSession session) throws ReportSDKException, SQLException, ClassNotFoundException...{
            boolean flag=false;
            try{
                //打开水晶报表
             //String ReportName = "CR_BOM01D"
                ReportClientDocument reportClientDoc = new ReportClientDocument();
                reportClientDoc.open(REPORT_NAME, 0);
                String query = "";
                
                ResultSet resultSet = this.getResultSetFromQuery(query,ResultSet.TYPE_SCROLL_INSENSITIVE);
        
                String tableAlias = reportClientDoc.getDatabaseController().getDatabase().getTables().getTable(0).getAlias();
                //把结果集放进报表里,将会自动产生一个datasource
                reportClientDoc.getDatabaseController().setDataSource(resultSet,tableAlias, "resultsetTable");
                session.setAttribute(session_name, reportClientDoc.getReportSource());
                flag=true;
                return flag;
            } catch (Exception e){
                // TODO: handle exception
                e.printStackTrace();
                return flag;
            }        
            
        }


    }
      

  12.   

    下面是CR_BOM01D.JSP:<%@ page import="com.JRC.util %>
    <%@ page import="com.JRC.util.CR_BOM01D_DataSource" %>///////这里报错了:The import com.JRC cannot be resolved,这个文件和上那个是同一个文件夹的,应该不是路径问题.
    <%--webreporting.jar  --%>
    <%@ page import="com.crystaldecisions.report.web.viewer.*" %>
    <%--jrcerom.jar --%>
    <%@ page import="com.crystaldecisions.reports.sdk.*" %>
    <%    
        CR_BOM01D_DataSource jrcd=new CR_BOM01D_DataSource("CR_BOM01D.rpt");
        //if(!jrcd.isReportSourceInSession("reportSource",session))
        //    response.sendRedirect("error.html");
        CrystalReportViewer crViewer=new CrystalReportViewer();
        crViewer.setOwnPage(true);
        crViewer.setOwnForm(true);
        crViewer.setPrintMode(CrPrintMode.ACTIVEX);
        
        Object reportSource=session.getAttribute("reportSource");
        crViewer.setReportSource(reportSource);
        
        crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);
     %>
      

  13.   

    在 eclipse要在那个文件夹?----->放在你指定的包里
    jsp引用: <@ page import="包名.类名"> 
      

  14.   

    如果放到SRC里
    package com.JRC.util;
    import java.sql.*;
    import javax.servlet.http.*;报错了:The import javax.servlet cannot be resolved
      

  15.   

    自己创建的java类一般都放在src文件夹下,不过也可以自己建立新的文件夹,只要用到这些类的时候将其引入就可以了!
    在JSP中可以直接<@ page import="包名.类名"> ,如果你要用SVC结构设计你的java程序其实很简单。不用在界面中直接引用你的类。直接用配置文件就可以实现。
      

  16.   

    自己创建的java类一般都放在src文件夹下,不过也可以自己建立新的文件夹,只要用到这些类的时候将其引入就可以了!
    在JSP中可以直接<@ page import="包名.类名"> ,如果你要用SVC结构设计你的java程序其实很简单。不用在界面中直接引用你的类。直接用配置文件就可以实现。
      

  17.   

    <%@ page import="mypackage.*"%>就可以了。。但是我感觉lz的意思并不是想引入吧。是不是想在jsp页面去触发某些方法呢?去看看MVC设计,找个类似Struts的东东,直接配置文件就过去了,随便你想怎么用。但是看了半天,实在不知道lz的意图是啥?
      

  18.   

    人家自己写了一个包,他copy来的代码没导入自然就报错了,晕