我创建了一个*.java类,在 eclipse要在那个文件夹?我在JSP里怎么来引用它?
解决方案 »
- 关于字符串分割的问题
- jdbc里怎么一次只从数据库读取一个数据而不是一行数据
- JAVA初学者 抛出异常选择题
- 关于hibenate session 。。求救啊~
- java 中怎么获取已经存在文件大小啊
- java的Double,Float,Integer类型可以替换为Oracle的哪个数据类型
- JBOSS启动时提示:java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path at java.lang
- 帮我挑挑错误( 我的考试最后一道大题 我写的代码 但是有错误)
- 菜鸟小问题!
- 关于Mac配置JDK以及环境变量问题
- 熟悉Crystal reports for eclipse 的朋友请进,数据源问题.
- 本人刚接触j2ee,想找一本好一点书籍或者资料(书。PPT等都可以)!希望哪个GG或JJ帮忙发一下!
<@ page import="*.Java类">
还有我想你在JSP要用的是那个类而不是*.java
你可以这样
懒得找或不会找.class文件在哪的话就直接在eclipse中Window->show view->Navigator
然后就在Navigator视图下到bin目录中一直往下找,找到你的class文件
找到tomcat的webapp下,你的web项目->WEB-INF->classes(没有的话自己建一个)->你的包名(比如com......)
然后把那个.class文件copy到那个路径下
在JSP中这样导入:
<%@ page import="mypackage.*"%>就可以用了
jsp里面这样引用
<%
packagename.classname c=new packagename.classname();
%>
然后你可以通过菜单中的File->New->Web Project来创建一个Web应用程序.
然后在Src中建立包,把你说的*.Java放到你建立的包中.
然后再在JSP中,通过<%@page import="java.util.Date"%>类似这样的方式
引用你自己包中的类.
你放到那个文件夹无所谓,在用import的时候加上相对路径就可以,比如你放到org文件夹下的a.java 你在a中用package org.a
你就可以这样引用<@ page import="org.a">
那么你可以把你的java类放在你建立的任意的一个包里
在你的jsp中在使用
<@ page import="包名.类名">
就行了然后可以在javascript中调用这个类<% 类名 对象名=new 类名() %>
这样就可以调用类的方法和属性了。
<jsp:usebean id="" scope="" class="" />
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);
%>
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;
}
}
}
<%@ 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);
%>
jsp引用: <@ page import="包名.类名">
package com.JRC.util;
import java.sql.*;
import javax.servlet.http.*;报错了:The import javax.servlet cannot be resolved
在JSP中可以直接<@ page import="包名.类名"> ,如果你要用SVC结构设计你的java程序其实很简单。不用在界面中直接引用你的类。直接用配置文件就可以实现。
在JSP中可以直接<@ page import="包名.类名"> ,如果你要用SVC结构设计你的java程序其实很简单。不用在界面中直接引用你的类。直接用配置文件就可以实现。