jsp 如何调用java类 初学

现有test.javapackagetest;publicclassTest1{publicStrings="welcometojava1.";publicStrings... 现有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
展开
 我来答
百度网友8615558
2011-07-12
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
不知道你用dwr试过没有,一般在前端调用java类都是使用dwr因为它是专为,从页面调用后台的java类产生的。以HelloWorld为例假设后台有一个实体类HelloWorld
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包里面有好多例子,讲的都很详细的
nizhihe
推荐于2016-03-22 · TA获得超过1637个赞
知道小有建树答主
回答量:542
采纳率:73%
帮助的人:149万
展开全部
1.新建一个项目,在src文件夹下添加一个包:如:tianaoweb.com;
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() %>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ybbtgjyv
2011-07-13 · TA获得超过190个赞
知道小有建树答主
回答量:339
采纳率:100%
帮助的人:225万
展开全部
哈哈 刚刚接触这个吧。 小问题 、 你要知道jsp页面只是一个页面 里面的东西如果不请求接收。那么仅仅就是一个html页面 要请求java类里面的数据 你要用servelet作为中转站 或者用到Struts2 标签 方法是多种多样的 那些一大堆代码那种 最好看看是否有你所需要的 来不来对新手讲代码的 高手 我也是第一次看见哈 好笑 哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuyuypjk
推荐于2017-11-24
知道答主
回答量:14
采纳率:0%
帮助的人:7.7万
展开全部
没看到具体的错误,所以不好说,但是要说的是
<%@ page import="test.Test1"
没 %>回来的。。。
追问
提示类文件无法编译
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慷慨且坦荡的小烤红薯L
2011-07-12 · TA获得超过605个赞
知道小有建树答主
回答量:1470
采纳率:75%
帮助的人:261万
展开全部
jsp 在 j2ee 中只是一个显示层而已, 要专业点, 楼主还是买书吧 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式