jsp内的java代码没有执行,急!
我的jsp页面上的java代码和html代码是穿插的,用System.out.println去跟踪的时候,<%%>内的代码都不执行,html都是执行的!怎么回事啊?代码如...
我的jsp页面上的java代码和html代码是穿插的,
用System.out.println去跟踪的时候,
<%%>内的代码都不执行,
html都是执行的!
怎么回事啊?
代码如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import= "com.dj.blog.model.Conn"%>
<%@ page import= "com.dj.blog.model.Diary"%>
<html>
<head>
<title>Bloglist page</title>
<link rel="stylesheet" type="text/css" href="css/list.css">
<script type="text/javascript" src="js/blog_list.js"></script>
</head>
<body>
<div id="container">
<div id="globallink1">
</div>
<div id="banner">
</div>
<div id="globallink">
</div>
<div id="parameter">
<%
System.out.println("222222222222222222222222222");
Connection conn;
PreparedStatement pre;
conn = new Conn().getConn();
try {
pre = conn.prepareStatement("SELECT buser.vid,buser.uname,blog.bname FROM buser,blog where buser.vid=blog.vid");
ResultSet rs = pre.executeQuery();
%>
<script type="text/javascript">
d = new dTree('d');
d.config.folderLinks=true;
d.add(0,-1,'有你喜欢的吗?','','','');
</script>
<%
int count = 0;
while (rs.next()) {
int id = rs.getInt(1);
String uname = rs.getString(2);
String bname = rs.getString(3);
%>
<script type="text/javascript">
d.add(<%=count + 1%>,0,'<%=uname%>:<%=bname%>','','<%=uname%>:<%=bname%>','');
d.add(<%=count + 2%>,<%=count + 1%>,'查看日志','DiaryS?id=<%=id%>&state=4','点击查看博友日志','','icon/rightArrow.gif');
d.add(<%=count + 3%>,<%=count + 1%>,'查看照片','PhotoS?id=<%=id%>','点击查看博友照片','','icon/rightArrow.gif');
</script>
<%
count += 3;
}
%>
<script type="text/javascript">
document.write(d);
</script>
<%
rs.close();
pre.close();
conn.close();
} catch (Exception e) {
System.out.print(e);
}
%>
</div>
<!-- 显示日志列表的主界面 -->
<div id="right">
<img src=image/main.jpg>
<div>
<%
List list=(List)session.getAttribute("diaryList");
for(int i=0;i<list.size();i++){
Diary diary=(Diary)list.get(i);
System.out.print(diary.getTitle());
%>
<h2>
<a href="#">作者:<%=diary.getTitle()%></a>
</h2>
<p class="author">
日期:<%=diary.getDate()%>
</p>
<p class="content">
内容:<%=diary.getContent()%>
</p>
<%
}
%>
</div>
</div>
</div>
</body>
</html>
略去了部分。
js内的代码都是执行了的。
把 try 和 catch 放到同一段 <% %> 之内,必要时再用新的 try-catch. jsp 翻译器在翻译 jsp 到 Java 时本身就会产生许多 try-catch, 估计是被搞乱了。
必要时也可以去看看机器根据你jsp给翻译好的JAVA源码:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\路径名\_*_jsp.java
我去看了,其他的都有,就是那个页面没有!!! 怎么的啊?
但是我不知道到底是哪错了呢,2天了,一只没有解决。郁闷啊。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>
<classpathentry kind="lib" path="D:/oracle/product/10.1.0/db_1/jdbc/lib/classes12.zip"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
</classpath>
你说的是这个吗?
可以加一下我的qq吗?
帮我解决一下这个问题,
谢谢您的帮助,
我解决了,
我把它拆开了 展开
用System.out.println去跟踪的时候,
<%%>内的代码都不执行,
html都是执行的!
怎么回事啊?
代码如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import= "com.dj.blog.model.Conn"%>
<%@ page import= "com.dj.blog.model.Diary"%>
<html>
<head>
<title>Bloglist page</title>
<link rel="stylesheet" type="text/css" href="css/list.css">
<script type="text/javascript" src="js/blog_list.js"></script>
</head>
<body>
<div id="container">
<div id="globallink1">
</div>
<div id="banner">
</div>
<div id="globallink">
</div>
<div id="parameter">
<%
System.out.println("222222222222222222222222222");
Connection conn;
PreparedStatement pre;
conn = new Conn().getConn();
try {
pre = conn.prepareStatement("SELECT buser.vid,buser.uname,blog.bname FROM buser,blog where buser.vid=blog.vid");
ResultSet rs = pre.executeQuery();
%>
<script type="text/javascript">
d = new dTree('d');
d.config.folderLinks=true;
d.add(0,-1,'有你喜欢的吗?','','','');
</script>
<%
int count = 0;
while (rs.next()) {
int id = rs.getInt(1);
String uname = rs.getString(2);
String bname = rs.getString(3);
%>
<script type="text/javascript">
d.add(<%=count + 1%>,0,'<%=uname%>:<%=bname%>','','<%=uname%>:<%=bname%>','');
d.add(<%=count + 2%>,<%=count + 1%>,'查看日志','DiaryS?id=<%=id%>&state=4','点击查看博友日志','','icon/rightArrow.gif');
d.add(<%=count + 3%>,<%=count + 1%>,'查看照片','PhotoS?id=<%=id%>','点击查看博友照片','','icon/rightArrow.gif');
</script>
<%
count += 3;
}
%>
<script type="text/javascript">
document.write(d);
</script>
<%
rs.close();
pre.close();
conn.close();
} catch (Exception e) {
System.out.print(e);
}
%>
</div>
<!-- 显示日志列表的主界面 -->
<div id="right">
<img src=image/main.jpg>
<div>
<%
List list=(List)session.getAttribute("diaryList");
for(int i=0;i<list.size();i++){
Diary diary=(Diary)list.get(i);
System.out.print(diary.getTitle());
%>
<h2>
<a href="#">作者:<%=diary.getTitle()%></a>
</h2>
<p class="author">
日期:<%=diary.getDate()%>
</p>
<p class="content">
内容:<%=diary.getContent()%>
</p>
<%
}
%>
</div>
</div>
</div>
</body>
</html>
略去了部分。
js内的代码都是执行了的。
把 try 和 catch 放到同一段 <% %> 之内,必要时再用新的 try-catch. jsp 翻译器在翻译 jsp 到 Java 时本身就会产生许多 try-catch, 估计是被搞乱了。
必要时也可以去看看机器根据你jsp给翻译好的JAVA源码:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\路径名\_*_jsp.java
我去看了,其他的都有,就是那个页面没有!!! 怎么的啊?
但是我不知道到底是哪错了呢,2天了,一只没有解决。郁闷啊。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>
<classpathentry kind="lib" path="D:/oracle/product/10.1.0/db_1/jdbc/lib/classes12.zip"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
</classpath>
你说的是这个吗?
可以加一下我的qq吗?
帮我解决一下这个问题,
谢谢您的帮助,
我解决了,
我把它拆开了 展开
4个回答
展开全部
把 try 和 catch 放到同一段 <% %> 之内,必要时再用新的 try-catch. jsp 翻译器在翻译 jsp 到 Java 时本身就会产生许多 try-catch, 估计是被搞乱了。
必要时也可以去看看机器根据你jsp给翻译好的JAVA源码:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\路径名\_*_jsp.java
如果其他的java文档都有而这个却不存在,很可能是翻译时出错了,你浏览器所看到的是以前cached版本。
看看至两个.class文件是否放到tomcat的classpath中去了。
"com.dj.blog.model.Conn"
"com.dj.blog.model.Diary"
解决这个问题本身并不是最重要的,关键是类似的问题怎么解决:
1。 如果是从myEclipse里面启动tomcat, console应该给出jsp错误。
2。 查询tomcat server log.
http://tomcat.apache.org/tomcat-5.5-doc/logging.html
3. 如果找不到server log,要学会用log4j,让它输出jsp详细的错误信息。
4。 学会读log文件, exception stack。
最后一招:实在找不出来错误所在就从一个空文件开始,一行一行地加,直到错误出现为止。
"Give man a fish, you feed him for a day; teach a man fishing, you feed him for the rest of his life"
必要时也可以去看看机器根据你jsp给翻译好的JAVA源码:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\路径名\_*_jsp.java
如果其他的java文档都有而这个却不存在,很可能是翻译时出错了,你浏览器所看到的是以前cached版本。
看看至两个.class文件是否放到tomcat的classpath中去了。
"com.dj.blog.model.Conn"
"com.dj.blog.model.Diary"
解决这个问题本身并不是最重要的,关键是类似的问题怎么解决:
1。 如果是从myEclipse里面启动tomcat, console应该给出jsp错误。
2。 查询tomcat server log.
http://tomcat.apache.org/tomcat-5.5-doc/logging.html
3. 如果找不到server log,要学会用log4j,让它输出jsp详细的错误信息。
4。 学会读log文件, exception stack。
最后一招:实在找不出来错误所在就从一个空文件开始,一行一行地加,直到错误出现为止。
"Give man a fish, you feed him for a day; teach a man fishing, you feed him for the rest of his life"
展开全部
十有八九是你的web server有问题。
写一个最简单的jsp页面,比如hello world,测试一下。
通常是简单的设置问题。
写一个最简单的jsp页面,比如hello world,测试一下。
通常是简单的设置问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jsp上输出用out.println
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重新编译,我认为是里面的java代码没有编译
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询