我现在才开始学JSP,安装了Tomcat Version 5.0.28.
环境变量也设置了:
JAVA_HOME=c:\j2sdk1.4.2
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarpath=%JAVA_HOME%\bin
CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar
启动http://localhost:8080,一切正常!
我就按照书上的写了个很简单的bean和调用的JSP文件,可是运行时老是出错.说无法找到该类.
我搜索了很多文章,说是要建立自己的jsp app目录 .可究竟怎么做呢?
我写的javabean究竟该放到哪里?
环境变量也设置了:
JAVA_HOME=c:\j2sdk1.4.2
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarpath=%JAVA_HOME%\bin
CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar
启动http://localhost:8080,一切正常!
我就按照书上的写了个很简单的bean和调用的JSP文件,可是运行时老是出错.说无法找到该类.
我搜索了很多文章,说是要建立自己的jsp app目录 .可究竟怎么做呢?
我写的javabean究竟该放到哪里?
解决方案 »
- Eclipse中怎么加 spring ide?
- (高分求教)java中如何统计sheet的打印页数(注意不是sheet数目)?(在线等。。。)
- 如何控制FigureCanvas的滚动条被拖动后的位置?
- 为什么我的JDK1.5下载了 变量也设置了 还是运行不了呢
- 跪求答案 try语句中部分语句不能实现
- 如何关闭frame窗口
- 请教JCreator LE的问题
- Java 基础问题,String ss[]=new String[]{"11","222","33333"}; 和String ss[]={"11","222","33333"}有什么区别
- 求教怎样得到星期几~
- [致牛人夜叉]为版主说两句公道话
- 倾家荡产求答案:如何实现jsp中对文件中固定行的修改或删除
- 我是初学者,请帮助我
留意bean的源代码里面的包名.文件夹名.引用的时候的包名....条理理清楚.
还有我如何做自己的JSP APP目录呀???
那么在结构如下:
demo/WEB-INF/classes #这里放置你的javabean也就是编译好的class文件
/lib #驱动文件及jar包
/web.xml #配置文件
/demo.jsp
/index.htm将demo放入tomcat/webapps/下在ie用http://127.0.0.1:8080/demo/index.htm查看
enjoy!
那么在结构如下:
demo/WEB-INF/classes #这里放置你的javabean也就是编译好的class文件
/lib #驱动文件及jar包
/web.xml #配置文件
/demo.jsp
/index.htm将demo放入tomcat/webapps/下在ie用http://127.0.0.1:8080/demo/index.htm查看
enjoy!
jsp文件放到自己的工程的文件夹内
Tomcat5.0/webapps/aa/WEB-INF/classes
html jsp与WEB-INF同级
bean的.class文件在classes内
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4"> <display-name>yourname</display-name>
</web-app>
<!--Circle.java -->
import java.io.*;
public class Circle{
int radius;
public Circle(){
radius=1;
}
public int getRadius(){
return radius;
}
public void setRadius(int newRadius){
radius=newRadius;
}
public double circleArea(){
return Math.PI*radius*radius;
}
public double circleLength(){
return 2.0*Math.PI*radius;
}
}
我写的test.jsp:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>this is a test</title>
</head>
<body>
<jsp:useBean id="testcircle" class="Circle" scope="page" /></body>
</html>
class我放在了C:\Tomcat 5.0\webapps\ROOT\WEB-INF\classes目录下
test.jsp我放在了C:\Tomcat 5.0\webapps\ROOT目录下.
调用后出错提示是:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 8 in the jsp file: /test.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:50: cannot resolve symbol
symbol : class Circle
location: class org.apache.jsp.test_jsp
Circle testcircle = null;
^
An error occurred at line: 8 in the jsp file: /test.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:52: cannot resolve symbol
symbol : class Circle
location: class org.apache.jsp.test_jsp
testcircle = (Circle) _jspx_page_context.getAttribute("testcircle", PageContext.PAGE_SCOPE);
^
An error occurred at line: 8 in the jsp file: /test.jsp
Generated servlet error:
C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:54: cannot resolve symbol
symbol : class Circle
location: class org.apache.jsp.test_jsp
testcircle = new Circle();
^
3 errors org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)帮我看看,我太苯了,不得不承认
public class Circle{
………………
}然后将你的Circle.java编译,将编译后的class类放入org/moneyhui文件夹下,接着将该文件夹复制到你的classes文件夹中。
页面引用时用如下的jsp语言:
<jsp:useBean id="testcircle" class="org.moneyhui.Circle" scope="page" />这是jsp的基础知识,楼主应该很熟悉才对。我上面提到的是比较笨的方法,如果愿意可以使用ant将程序打包成jar文件,放到lib中。
你在jsp中直接可以调用了testcircle了,不需要
Circle testcircle = null;
.....
testcircle = new Circle();
在你前面的代码前加上package语句以后,放到对应的目录下面就好了。祝你好运!
在JSP里用
<%@page import="***.***.Circle";%>(其中***为你的程序包名)
就可以了