远程空间里的javabean传值?

xuwei214 2011-08-16 04:26:35
在本地测试的好好的.上传到远程空间后运行结果变了.文件是直接上传的.数据库的结构和数据也都是一样的?
代码如下:
/*
* 按分类显示帖子主题
* 分页显示.每页20条记录
*/
package mybean;
import java.sql.*;
import mybean.DBConnSource;

public class OnStyleList {
private String pageid="";//当前要显示的页数.第一次显示时为1,
private int pagesize=20;//每页显示20条记录
private int pagecount=0;
private int showpage=1;//总页数
private String style;
private Statement stmt;

public OnStyleList(){
try{
DBConnSource dbc=new DBConnSource("jdbc/myweb");
stmt=dbc.getStmt();
}catch(Exception e){
System.out.print("不能连接到数据源");
}
}
public void setStyle(String style){
this.style=style;
}
public StringBuffer getBuffer(){
StringBuffer buffer=new StringBuffer();
try{
String strsql="SELECT * FROM adver WHERE style='"+style+"' ORDER BY Id DESC";
ResultSet rs = stmt.executeQuery(strsql);
rs.last();
int lastrow=rs.getRow();
pagecount=(lastrow%pagesize==0)?(lastrow/pagesize):(lastrow/pagesize+1); try{
showpage=Integer.parseInt(pageid);
}catch(Exception e){
showpage=1;
}//把字符型的pageid转换成整型
if(showpage<=1){
showpage=1;
}
if(showpage>=pagecount){
showpage=pagecount;
}
int posion=(showpage-1)*pagesize+1;
if(posion==0){
posion=1;
}
rs.absolute(posion);
if(lastrow == 0){
buffer.append("此分类下暂无记录");
buffer.append("<br/>");
}
for(int i=1;i<=pagesize;i++)
{
String title=rs.getString("title");
buffer.append("<a href='cont.jsp?nid="+rs.getInt("id")+"' target=_blank>"+title+"</a><br/>");
if(!rs.next())
break;
}
rs.close();
stmt.close();
}catch(SQLException e){
System.out.print(e.toString());
}
buffer.append("   共"+pagecount+"页>>>");
for(int j=1;j<=pagecount;j++){
if(j==showpage){
buffer.append("[");
}
buffer.append("<A href=style.jsp?pageid="+j+">");
buffer.append(""+j);
buffer.append("</A>");
if(j==showpage){
buffer.append("]<br/>");
}
buffer.append(" ");
}
return buffer;
}
}
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuwei214 2011-08-16
  • 打赏
  • 举报
回复
对传递的值进行测试.
buffer.append("此分类下暂无记录");
这一句改成
buffer.append(style+"此分类下暂无记录");
发现传到第一个JAVABEAN里的style值是乱字码.看来是传值错了.但是我在相关页面里都设置了<% request.setCharacterEncoding("GBK"); %> 怎么还会出现这个错误呢?在本地又怎么没有错误呢?难道对页面编码设置到了JAVABEAN里就无效了吗?或者TOMCAT6.0里还需要别的什么设置吗?
谢谢各位,就这么点分了.帮帮忙吧.
xuwei214 2011-08-16
  • 打赏
  • 举报
回复
为了测试连接SQL,我又写了一个测试文件:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<HTML>
<head>
<title>远程测试数据源配置</title>
</head>
<BODY>
<%
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)ctx.lookup("jdbc/myweb");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String sty = "招聘求职";
String strsql="SELECT * FROM adver WHERE style='"+sty+"' ORDER BY Id DESC";
//发送要执行的SQL语句
ResultSet rs = stmt.executeQuery(strsql);
out.print("eclipse 测试数据源方式.<BR>");
out.print("<br>数据列表:<BR>");
rs.afterLast();
while(rs.previous())
{
out.print(rs.getInt(1));
out.print(rs.getString("city"));
out.print(rs.getString("style"));
out.print(rs.getString("title"));
out.print(rs.getString("content"));
out.print(rs.getString("pass"));
out.print(rs.getString("chec"));
out.print("<br/>");
}
out.print("<BR>数据池连接成功<BR>");
rs.close();
conn.close();
}
catch(SQLException e)
{
out.print("数据源配置出错"+e.toString());
}
%>
</body>
</html>
这个文件可以正确显示.
所有文件在本地都是可以正确显示的.
xuwei214 2011-08-16
  • 打赏
  • 举报
回复
数据库有两条style 值为"招聘求职"的贴子.在本地测试的时候可以按分类显示这两个贴子,但到了远程空间上就不按分类显示了.上一点击"招聘求职"这个分类,页面出现"此分类下暂无记录".详情见
xuwei770214.j4.zgsj.net/index.jsp 上面那个是分类,这那两条测试数据的分类都是招聘求职,但是我点击上面分类列表里的"招聘求职"时,页面就出来"此记录下暂无记录"
请各位帮帮忙?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧