求教。。 为什么加载到servlet页面显示空白或者一直加载页面没显示也没错误?
package com.bean; public class Example7_2_Bean {
String[] columnName;// 存放列名
String[][] tableRecord = null;// 存放查询到的记录
int pageSize = 1;
int totalPages = 1;
int currentPage = 1;
public Example7_2_Bean(){ }
public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public int getTotalPages() {
return totalPages;
} public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
} public int getCurrentPage() {
return currentPage;
} public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
} public String[] getColumnName() {
return columnName;
} public void setColumnName(String[] columnName) {
this.columnName = columnName;
} public String[][] getTableRecord() {
return tableRecord;
} public void setTableRecord(String[][] tableRecord) {
this.tableRecord = tableRecord;
} }
package com.servlet; import com.bean.Example7_2_Bean; import java.sql.*;
import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; public class Example7_2_Servlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
Connection con;
Statement sql;
ResultSet rs = null; @Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
super.init(config);
} public String handleString(String s) {
try {
byte b[] = s.getBytes("iso-8859-1");
s = new String(b);
} catch (Exception ee) {
}
return s;
} @Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub Example7_2_Bean resultBean = null;// 放在外面是为了判断这个是否为空,
try {
resultBean = (Example7_2_Bean) req.getAttribute("resultBean");
// 获取的是bean的对象
if (resultBean == null) {// 对获取到的javabean对象进行判断
resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
req.setAttribute("resultBean", resultBean);//
} } catch (Exception e) {
// TODO: handle exception
resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
req.setAttribute("resultBean", resultBean);//
} try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
}
String dataBase = req.getParameter("dataBase");
String tableName = req.getParameter("tableName");
String nu = req.getParameter("number");
String na = req.getParameter("name");
String mT = req.getParameter("madeTime");
String pr = req.getParameter("price");
// trim函数用于删除文本的空格 Float p = Float.parseFloat(pr);
String condition = "insert into" + tableName + "values" + "(" + "'"
+ nu + "','" + na + "','" + mT + "'," + p + ")";
boolean boo = (nu.length() > 0);
try {
String uri = "jdbc:mysql://127.0.0.1/warehouse?"
+ "user=root&password=123456&characterEncoding=gb2312"; con = DriverManager.getConnection(uri);
sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
if (boo)
sql.executeUpdate(condition);
boolean m = rs.next();
if (m == true) {
// 调用登入成功的方法:
success(req, resp); } else {
String backNews = "你输入的用户名不存在或密码不匹配";
// 调用失败的方法
fail(req, resp, backNews);
} con.close(); // boolean m = rs.next();
// if (m == true) {
// // 调用登入成功的方法:
// success(req, resp, logname, password);
//
// RequestDispatcher dispatcher = req
// .getRequestDispatcher("shanping/showRecord.jsp");
// dispatcher.forward(req, resp);
//
// } else {
// String backNews = "你输入的用户名不存在或密码不匹配";
// // 调用失败的方法
// fail(req, resp, logname, backNews);
// } } catch (SQLException e) {
System.out.println(e);
fail(req, resp, "添加记录失败" + e.toString());
} } public void success(HttpServletRequest req, HttpServletResponse resp)
throws SQLException, ServletException, IOException {
// TODO Auto-generated method stub
Example7_2_Bean resultBean = null;// 放在外面是为了判断这个是否为空,
try {
resultBean = (Example7_2_Bean) req.getAttribute("resultBean");
// 获取的是bean的对象
if (resultBean == null) {// 对获取到的javabean对象进行判断
resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
req.setAttribute("resultBean", resultBean);//
} } catch (Exception e) {
// TODO: handle exception
resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
req.setAttribute("resultBean", resultBean);//
}
rs = sql.executeQuery("select * from product");
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();// 得到结果集的列数
String[] columnName = new String[columnCount];
for (int i = 0; i < columnName.length; i++) {
columnName[i] = metaData.getColumnName(i + 1);// 获得列名
}
resultBean.setColumnName(columnName);// 更新javabean数据模型
rs.last();// 为BoolEAN类型
int rowNumber = rs.getRow();// 得到记录数
String[][] tableRecord = resultBean.getTableRecord();
tableRecord = new String[rowNumber][columnCount];
rs.beforeFirst();
int i = 0;
while (rs.next()) {
for (int k = 0; k < columnCount; k++) {
tableRecord[i][k] = rs.getString(k + 1);
i++;
}
resultBean.setTableRecord(tableRecord);// 更新javabean数据模型
con.close();
RequestDispatcher dispatcher = req
.getRequestDispatcher("shanping/showRecord.jsp");
dispatcher.forward(req, resp);
}
} // public void success(HttpServletRequest req, HttpServletResponse resp,
// String logname, String password) {
// // TODO Auto-generated method stub
//
// Example7_2_Bean resultBean = null;// 放在外面是为了判断这个是否为空,
// try {
// resultBean = (Example7_2_Bean) req.getAttribute("resultBean");//
// 获取的是bean的对象
// if (resultBean == null) {// 对获取到的javabean对象进行判断
// resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
// req.setAttribute("resultBean", resultBean);//
// }
//
// } catch (Exception e) {
// // TODO: handle exception
// resultBean = new Example7_2_Bean();// 若为空则创建javabean对象
// req.setAttribute("resultBean", resultBean);//
// }
//
//
// }
// } public void fail(HttpServletRequest req, HttpServletResponse resp,
String backNews) {
// TODO Auto-generated method stub
resp.setContentType("text/html;charset=gb2312");
try {
PrintWriter out = resp.getWriter();
out.print("<html><body>");
out.print("<h2>" + backNews + "<h2>");
out.print("<a href='example7_2.jsp'>输入正确信息");
out.print("</html></body>");
} catch (IOException exp) {
}
} @Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
} }
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'example7_2.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
查询warehouse数据库product表中
<form action="<%=request.getContextPath()%>/Example7_2_Servlet" method="post">
<br>产品号<input type="text" name="number" >
<br>名称:<input type="text" name="name" >
<br>生产日期:<input type="text" name="madeTime" >
<br>价格:<input type="text" name="price" >
<input
type="submit" name="g" value="提交">
</form> </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:useBean id="resultBean" class="com.bean.Example7_2_Bean"
scope="request"></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'showRecord.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<br>当前显示的内容是:
<jsp:setProperty property="pageSize" name="resultBean" param="pageSize"/>
<jsp:setProperty property="currentPage" name="resultBean" param="currentPage"/>
<table border="1">
<%
String[] columnName = resultBean.getColumnName();
if(columnName!=null){
out.print("<tr>");
for(int i=0;i<columnName.length;i++){
out.print("<th>"+columnName[i]+"</th>");
}
out.print("<tr>");
} String[][] record = resultBean.getTableRecord();
if(record==null){
out.print("没有记录");
return;
} int totalRecord = record.length;
out.println("全部记录数" + totalRecord);//全部记录数
int pageSize = resultBean.getPageSize();//每页显示的记录数
int totalPages = resultBean.getTotalPages();
if (totalRecord % pageSize == 0)
totalPages = totalRecord / pageSize;//总页数
else
totalPages = totalRecord / pageSize + 1;
resultBean.setPageSize(pageSize);
resultBean.setTotalPages(totalPages);
if (totalPages >= 1) {
if (resultBean.getCurrentPage() < 1)
resultBean.setCurrentPage(resultBean.getTotalPages());
if (resultBean.getCurrentPage() > resultBean.getTotalPages())
resultBean.setCurrentPage(1);
int index = (resultBean.getCurrentPage() - 1) * pageSize;
int start=index;//查询位置移动到currentPage页起始位置 for (int i = index; i < pageSize+index; i++) {
if(i==totalRecord)
break;
out.print("<tr>");
for(int j=0;j<columnName.length;j++){
out.print("<td>"+record[i][j]+"</td>");} }
out.print("</tr>");
}
%>
</table>
<br>每页最多显示<jsp:getProperty property="pageSize" name="resultBean" />条信息
<br>当前显示第
<font color=blue> <jsp:getProperty property="currentPage"
name="resultBean" /> 页,共有<jsp:getProperty property="totalPages"
name="resultBean" /></font>页。
<table>
<tr>
<td> <form action="" method="post">
<input type="hidden" name="currentPage" value="<%=resultBean.getCurrentPage() - 1
%>">
<input type="submit" name="g" value="上一页">
</form>
</td>
<td><form action="" method="post">
<input type="hidden" name="currentPage"
value="<%=resultBean.getCurrentPage() + 1%>"> <input
type="submit" name="g" value="下一页">
</form></td>
</tr> <tr>
<td><form action="" method="post">
每页显示<input type="text" name="PageSize" value=1 size=3> 条记录<input
type="submit" name="g" value="确定">
</form></td> <td><form action="" method="post">
输入页码<input type="text" name="currentPage" size=2> <input
type="submit" name="g" value="提交">
</form></td>
</tr> </table> </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0"> <servlet>
<servlet-name>Example7_2_Servlet</servlet-name>
<servlet-class>com.servlet.Example7_2_Servlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Example7_2_Servlet</servlet-name>
<url-pattern>/Example7_2_Servlet</url-pattern>
</servlet-mapping>
</web-app>
经过长时间的检查。发现最终还是代码有问题,一定要仔细代码, 从最基础, 最没有可能错误的地方开始查找错误。
求教。。 为什么加载到servlet页面显示空白或者一直加载页面没显示也没错误?的更多相关文章
- php页面显示空白
问题: 本人php初学者,网站下载wamp5,安装好之后,测试环境是否正常,用phpinfo(),但是页面不能正确显示. 1.显示连接错误 2.显示空白页 解决方法: 一.显示连接错误 步骤: 1.p ...
- jQuery:实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容
实现图片按需加载的方法,当要显示内容的高度超过了页面的高度,按需加载,根据滚动条的位置来判断页面显示的内容 这个类似于京东或淘宝页面,根绝页面的滚动,显示下面的内容 如下图所示,一开始并不是所有的图片 ...
- jquery中load()加载页面,刷新之后,加载的页面不显示的解决办法
<script language="javascript" type="text/javascript"> $(function(){ $(&quo ...
- WebView加载页面,带链接的Img在页面第一次加载时无法显示的问题
在做一个App的过程中,用到WebView来显示几个页面.在这个过程中发现有些页面的显示出现了异常:页面中的Img链接在页面第一次加载时无法正常显示图片,退出页面再次进入后可正常显示.开始以为是Web ...
- 一个页面从输入URL到加载显示完成,发生了什么?
面试经典题--URL加载 一.涉及基本知识点: 1. 计算机网络 五层因特尔协议栈: 应用层(dns.http):DNS解析成IP并完成http请求发送: 传输层(tcp.udp):三次握手四次挥手模 ...
- vue 在nginx下页面刷新出现404问题解决和在nginx下页面加载了js但是页面显示空白问题解决
一.vue 在nginx下页面刷新出现404 在网上翻遍了所有这样问题的解决办法,全都是一个解决办法也是正确的解决办法,(后来在vue官网上关于history方式出现404解决方法也是这样说的),只是 ...
- jsp页面中的代码执行加载顺序介绍
1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js. 2. j ...
- 自制Javascript分页插件,支持AJAX加载和URL带参跳转两种初始化方式,可用于同一页面的多个分页和不同页面的调用
闲话部分 最近闲着实在无聊,就做了点小东西练练手,由于原来一直在用AspNetPager进行分页,而且也进行了深度的定制与原有系统整合的也不错,不过毕竟是用别人的,想着看自己能试着做出来不能,后台的分 ...
- 移动端web页面列表类上拉加载,查看详情,iframe嵌套第三方页面遇到的问题以及解决办法
1.移动端上拉加载 网上有很多成熟的插件,比如iscroll.在这里介绍一下用jquery和js写的上拉加载方法.使用原生的去写上拉加载更多需要三个高度去做对比,以新闻类列表举例,首先需要整个dom的 ...
随机推荐
- [HIve - LanguageManual] Hive Operators and User-Defined Functions (UDFs)
Hive Operators and User-Defined Functions (UDFs) Hive Operators and User-Defined Functions (UDFs) Bu ...
- 如何在安裝SELinux的环境执行Quartus II
(原創) 如何在安裝SELinux的環境執行Quartus II? (SOC) (Quartus II) (Linux) (RedHat) Abstract一般人安裝Linux時,也會同時安裝SELi ...
- Red5边源服务器集群部署
http://www.myexception.cn/open-source/446184.html Red5简介: Red5是一个采用Java开发开源的Flash流媒体服务器.它支持:把音频(MP3) ...
- web.xml文件中配置ShallowEtagHeaderFilter需注意的问题
问题现象及解决方法 今天在Spring MVC应用中加入ShallowEtagHeaderFilter时,发现返回的响应中没有etag头,上网查了很多相关资料,也试了很多方法依然不起作用.在查看web ...
- 十六进制转十进制 - C
我们经常碰到16进制数转10进制的情况,使用下面的C程序即可完成上述工作. 那么他是怎样的工作原理呢? 6.2.5 十六进制数转换成十进制数 16进制就是逢16进1,但我们只有0~9这十个数字,所以我 ...
- MVC神韵---你想在哪解脱!(十七)
实现针对数据的CRUD操作 首先,让我们来看一下如何实现一条数据的明细信息视图.为了更好地体会这一功能,首先我们在前文所述的电影清单视图(Views文件夹下面的Movies文件夹下面的Index.cs ...
- 初识FreeMarker
一.什么是FreeMarker? FreeMarker基于设计者和程序员是具有不同专业技能的不同个体的观念 他们是分工劳动的:设计者专注于表示——创建HTML文件.图片.Web页面的其它可视化方面: ...
- Win7激活后添加grub引导Linux最简单方法
因为Win7(Vista同理)的激活方式是通过grub摸你OEM的Slic信息,所以主引导分区MBR被这个grub占用,以此才能激活WIn7.但是如果想同时安装Linux在别的分区,就会产生问题:gr ...
- esxi 5.1 由于断电错误无法启动 报错 bank5 invalid configuration
由于着急,处理过程中也没有截图,这里简单的描写叙述下整个过程吧. IBM pcserver x3850 可能是机器太热的原因,中午无故掉电,导致esxi无法正常启动 启动时报错 bank5 inval ...
- MySQL安装详解(V5.5 For Windows)
前言 这几年一直在用MySQL,并且是Windows+.Net+MySQL的搭配,用MyISAM引擎支持过单表每天千万以上的数据递增,TB级的数据MySQL游刃有余.最近在做一个较大并发的项目,尝试了 ...