jsp无法实现页面跳转功能 在线等 急急急 哪位大佬帮我看下 不甚感激

2439644676 2018-09-15 10:19:53

<%@ page language="java" import="java.util.*,java.sql.*"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'wel.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>
登陆成功,恭喜!<%=request.getParameter("user")%>
<br>
<a href="login.jsp">返回重新登陆</a>
<hr>
<h1>用户信息列表</h1>
<%
//定义四个分页会用到的变量
int pageSize = 3;
int pageNow = 1; //默认显示第一页
int rowCount = 0; // 该值从数据库中查询
int pageCount = 0;
//对pageNow 进行修改,接收用户希望显示的页数
String s_pageNow = request.getParameter("pageNow");

if (s_pageNow != null && s_pageNow.length() != 0) {
//接收到pageNow
pageNow = Integer.parseInt(s_pageNow); //Integer就是把一个字符串转化成一个整数!
}

//// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
Connection ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb1", "root", "234567");
//3.创建Statement
Statement sm = ct.createStatement();
//4.查询密码
ResultSet rs = sm.executeQuery("select count(*) from myusers ");

if (rs.next()) {
//一定要next 因为初始化的时候并没有直接指向列表的第一行
rowCount = rs.getInt(1);
}

//计算pageCount值.算法很多,不局限一种
if (rowCount % pageSize == 0) {
pageCount = rowCount / pageSize;
} else {
pageCount = rowCount / pageSize + 1;

}
//查询需要显示的记录
rs = sm.executeQuery(
"select * from myusers where userId limit " + ((pageNow - 1) * pageSize) + "," + pageSize);

//显示
%>
<table border="1">
<tr>
<td>用户id</td>
<td>用户名字</td>
<td>密码</td>
<td>电子邮件</td>
<td>用户级别</td>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>
</tr>
<%
}
%>
</table>
<%
//显示超链接
if (pageNow != 1) {

out.println("<a href = wel.jsp? pageNow = " + (pageNow - 1) + ">上一页</a>");
}

for (int i = 1; i <= pageCount; i++) {
out.println("<a href = wel.jsp? pageNow = " + i + " > [" + i + "]</a>");

}

if (pageNow != pageCount) {
out.println("<a href = wel.jsp? pageNow = " + (pageNow + 1) + ">下一页</a>");
}
%>
</body>
</html>







































这是我刚才写的一个jsp页面,但是无法实现页面的跳转,还望哪位大佬帮我看看,我用的数据库是mysql
下面是一些截图
...全文
275 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SunAlwaysOnline 2018-09-15
  • 打赏
  • 举报
回复
<%
//显示超链接
if (pageNow != 1) {

out.println("<a href = wel.jsp? pageNow = " + (pageNow - 1) + ">上一页</a>");
}

for (int i = 1; i <= pageCount; i++) {
out.println("<a href = wel.jsp? pageNow = " + i + " > [" + i + "]</a>");

}

if (pageNow != pageCount) {
out.println("<a href = wel.jsp? pageNow = " + (pageNow + 1) + ">下一页</a>");
}
%>

这里的跳转链接,需要加单引号
2439644676 2018-09-15
  • 打赏
  • 举报
回复
这个项目是三个页面,login.jsp登陆界面。loginCl.jsp 处理界面,wel.jsp欢迎界面,现在要做的就是在wel.jsp页面实现页面之间的跳转,就是点击第几页就直接跳转到第几页,因为在前面分页已经实现了,我把三个jsp文件发给你看下,还有数据库

这是login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'login.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 bgcolor="pink">
<center>
用户登陆 <br>
<hr>
<form action="loginCl.jsp" method="post">
用户名: <input type="text " name="username"><br>
密   码: <input type="password" name="passwd"><br>
<input type="submit" value="登陆"> <input type="reset"
value="重置">
</form>
</center>
</body>
</html>








这是loginCl.jsp
<%@ page language="java" import="java.util.*,java.sql.*"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'loginCl.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>

<%
//接收用户名和密码,完成对用户身份的验证
String u = request.getParameter("username");
String p = request.getParameter("passwd");
// 到数据库中验证用户
//// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
Connection ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb1", "root", "234567");
//3.创建Statement
Statement sm = ct.createStatement();
//4.查询密码
ResultSet rs = sm.executeQuery("select passwd from myusers where username= '" + u + "'");
//5. 根据结果判断
if (rs.next()) {
//说明用户名存在,但是用户不一定合法
if (rs.getString(1).equals(p)) {
//一定是合法的
response.sendRedirect("wel.jsp?user=" + u);
} else {
//密码是错误的
response.sendRedirect("login.jsp?errNo=1");
}
} else {
//说明用户名都输错了
response.sendRedirect("login.jsp?errNo=2");
}
//先不到数据库验证,就2简单验证一下

/* if (u.equals("chenya") && p.equals("123")) {
response.sendRedirect("wel.jsp?user=" + u);
//合法,跳转到wei.jsp页面
//如何将本页面loginCl.jsp得到的数据传给下一个页面
// 1. cookie 2. session 3.response.sendRedirect
} else

{
//不合法,跳转到login.jsp
response.sendRedirect("login.jsp");
} */
%>
</html>





这是wel.jsp
<%@ page language="java" import="java.util.*,java.sql.*"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'wel.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>
登陆成功,恭喜!<%=request.getParameter("user")%>
<br>
<a href="login.jsp">返回重新登陆</a>
<hr>
<h1>用户信息列表</h1>
<%
//定义四个分页会用到的变量
int pageSize = 3;
int pageNow = 1; //默认显示第一页
int rowCount = 0; // 该值从数据库中查询
int pageCount = 0;
//对pageNow 进行修改,接收用户希望显示的页数
String s_pageNow = request.getParameter("pageNow");

if (s_pageNow != null && s_pageNow.length() != 0) {
//接收到pageNow
pageNow = Integer.parseInt(s_pageNow); //Integer就是把一个字符串转化成一个整数!
}

//// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
Connection ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/spdb1", "root", "234567");
//3.创建Statement
Statement sm = ct.createStatement();
//4.查询密码
ResultSet rs = sm.executeQuery("select count(*) from myusers ");

if (rs.next()) {
//一定要next 因为初始化的时候并没有直接指向列表的第一行
rowCount = rs.getInt(1);
}

//计算pageCount值.算法很多,不局限一种
if (rowCount % pageSize == 0) {
pageCount = rowCount / pageSize;
} else {
pageCount = rowCount / pageSize + 1;

}
//查询需要显示的记录
rs = sm.executeQuery(
"select * from myusers where userId limit " + ((pageNow - 1) * pageSize) + "," + pageSize);

//显示
%>
<table border="1">
<tr>
<td>用户id</td>
<td>用户名字</td>
<td>密码</td>
<td>电子邮件</td>
<td>用户级别</td>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>
</tr>
<%
}
%>
</table>
<%
//显示超链接
if (pageNow != 1) {

out.println("<a href = wel.jsp? pageNow = " + (pageNow - 1) + ">上一页</a>");
}

for (int i = 1; i <= pageCount; i++) {
out.println("<a href = wel.jsp? pageNow = " + i + " > [" + i + "]</a>");

}

if (pageNow != pageCount) {
out.println("<a href = wel.jsp? pageNow = " + (pageNow + 1) + ">下一页</a>");
}
%>
</body>
</html>




这是数据库的截图



这是myeclipse运行截图



北九道 2018-09-15
  • 打赏
  • 举报
回复
第一:不理解你的跳转是怎么回事,你是要怎么跳转,页面跳转处有返回重新登录,有下一页什么的。
第二:你的wel.jsp,这样子,好尴尬,直接跳转jsp,不带拦截什么的吗,或者说是,不跳服务器?还是说你url就是wel.jsp,这个jsp是为了迷惑别人的?

81,121

社区成员

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

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