在 JSP 中调用 Java 方法
Setup Mac OSX 10.6.8, Apache Tomcat 6.0.16, Java1.6.0_29, Eclipse IDE Indigo.
我之前在如何执行和包含来自Web App项目的Java API中问过类似的问题,但设置已经发生了变化,因为我现在在WebAp中拥有Java代码。
我正在尝试从JSP页面调用Java方法并返回结果。我看过很多帖子,但我担心我缺乏任何一种语言的经验是主要问题。
我有一个JSP WebAp,它搜索XML数据库并将内容返回给用户。我被要求集成额外的java代码来搜索预定义的网站并返回内容。
我已经尝试了与下面类似的代码,但我认为我正在寻找其他东西
<%@ include file="/Applications/Tomcat/apache-tomcat-6.0.16/webapps/myWebApp/program.java" %>
任何人都可以让我更好地了解我正在寻找什么吗?
另外,您是否知道我是否必须在WebAp中编辑任何其他内容才能连接这两个文件?WebINF 文件夹中的类文件?
任何帮助都非常感谢
深化
package sliceClient;
import java.util.List;
public class Run {
@Inject
private SliceSearcher sliceSearcher;
@Inject
private SliceCreator sliceCreator;
/**
* @param args
*/
public static void main(String[] args) {
Injector injector = Guice.createInjector(new GuiceInjector());
Run r = injector.getInstance(Run.class);
r.runSliceConsumer();
}
private void setSlicepediaProductionMode(boolean productionMode){
sliceSearcher.setProductionMode(productionMode);
sliceCreator.setProductionMode(productionMode);
}
public void runSliceConsumer() {
System.out.println("Starting Slice Consumer");
//Remove this line if the real slicepedia server is to be used
setSlicepediaProductionMode(true);
List<SliceHit> sliceHits = searchForSlices();
if (sliceHits == null) {
System.err.println("Timeout occurred while fetching slices");
return;
}
if (!sliceHits.isEmpty()) {
System.out.println("Found some slices Yuhuuuu ! :-) ");
String sliceContent = createSlices(sliceHits);
System.out.println("Slice content:");
System.out.println(sliceContent);
} else {
System.out.println("No Slices were found for this query");
}
System.out.println("Slice Consumer stopped activity");
}
private String createSlices(List<SliceHit> sliceHits) {
sliceCreator.setSliceHits(sliceHits);
if (sliceCreator.run()) {
SlicePackage slicePackage = sliceCreator.getNextSlicePackage();
return slicePackage.getSliceContent();
} else {
return sliceCreator.getErrorMessage();
}
}
private List<SliceHit> searchForSlices() {
SlicepediaQuery sliceQuery = new SlicepediaQuery();
sliceQuery.paramANNOTATION_READING_DIFFICULTY(new Double(30), "<");
//Works
// String dbConcept = "http://dbpedia.org/resource/human_rights";
// sliceQuery.paramANNOTATION_CONCEPT_FEATURE_HAS_DBPEDIA(dbConcept,0.5, ">");
// sliceQuery.paramHAS_NBR_OF_PARAGRAPHS(1,">");
// sliceQuery.paramIsAnOpenSlice(true);
// sliceQuery.paramHasNumberOfToken(80, ">");
sliceSearcher.setSliceQuery(sliceQuery);
if (sliceSearcher.run()) {
return sliceSearcher.getSliceHits();
} else {
return null;
}
}
}