现有test.java
package test;
public class Test1 {
public String s="welcome to java1.";
public String s(){
return (s);}
}
编译为Test1.class
jsp文件test.jsp调用Test1
<%@ page language="java" import="java.io.*, java.sql.*,javax.sql.*, java.util.* " pageEncoding="ISO-8859-1"%>
<%@ page import="test.Test1"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<%
Test1 aa=new Test1();
out.println(aa.s());
%>
</body>
</html>
出错
找不到类文件
哪位高手指点一下小可是哪出问题了?
文件结购:
D:\hwy
————WEB-INF\classes\test\Test1.class
————test.jsp
public class HelloWorld {
public String hello(String name){
return "helloworld"+"name="+name+"now time="+new Date().toLocaleString();
}
}
1.引入dwr的jar包
2.将dwr.xml文件copy到web-INF目录下
配置:
<dwr>
<allow>
<create javascript="HelloWorld" creator="new">
<param name="class" value="service.HelloWorld"></param>
</create>
</allow>
</dwr>
3.配置web.xml
加入:<!-- dwr -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!-- This should NEVER be present in live -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
4.引入dwr的js,如:
<script type='text/javascript' src='dwr/interface/HelloWorld.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
这一步你可以参考dwr的官方文档中的实例,因为这里引入的js,包括目录你都找不到的,所以以往的直接将js文件拖拉到要使用的页面就行不通了,
分别介绍一下引入的三个js文件:
第一个:后缀为HelloWorld.js的估计你也能猜出来了,其实在后台你就是有一个类名就叫HelloWorld的,现在应该明白为什么可以调用后台java类了吧(也就是说有几个java类要调用就有几个这样的引入文件,只需要将HelloWorld名字换为你的另一个要引入的类)。
第二个:固定的写法
第三个:不是必须的,可加可不加,不过它是为了是你操作更方便,一般都会加上。
5.下面就可以在页面调用了:
<script type='text/javascript' src='dwr/interface/HelloWorld.js'></script>
<script type='text/javascript' src='dwr/interface/DepartmentsService.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
function hello(){
var name = document.getElementById("name").value;
HelloWorld.hello(name,callback);//直接使用引入的名称调用后台类中的hello()方法
}
//回调函数用来获取从后台传递来的参数,或者数据
function callback(date){
alert(date);
}
</script>
6.完成
希望能下个dwr的官方jar包里面有好多例子,讲的都很详细的
2.再在包中添加一个类:如
package com;
public class test {
public String sd(){
return "sd";
}
}
3.在默认的首页index.jsp(当然也可以自己新建一个jsp文件)的开头引入
<%@ page import= "tianaoweb.com.* "%>
4.在<body> </body>中添加相应的java代码片:
如:
<%
String str;
test te=new test();
%>
<%=te.sd() %>
<%@ page import="test.Test1"
没 %>回来的。。。追问
提示类文件无法编译
本回答被提问者采纳