JSP第一个实例之用户管理系统

本文主要是将Servlet中编写的用户管理系统用JSP来编写,注意比较Servlet和JSP的异同点。

现在还先将使用Model1模式来编写,以后再进行改进。

将涉及的知识点:

  1. 如何在JSP页面中进行转跳
  2. JSP如何操作数据库
  3. JSP中如何显示数据和进行分页

代码如下:

登录页面代码:

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户登录系统</title>
</head>
<body>
<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="login">
<input type="reset" value="重置">
</form>
<hr>
</center>
</body>
</html>

登录业务处理代码:

<%@ page language="java" contentType="text/html; charset=gb2312" import="java.sql.*"
    pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>处理页面</title>
</head>
<body>

<%
	//接收用户名和密码,完成对用户的验证
	String u = request.getParameter("username");
	String p = request.getParameter("passwd");

	//到数据库中进行验证
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	Connection ct = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TestServlet","sa","123456");
	PreparedStatement ps = ct.prepareStatement("select * from users where username=? and passwd=?");
	ps.setString(1,u);
	ps.setString(2,p);
    ResultSet rs = ps.executeQuery();
    if(rs.next()){

    	//合法,转到欢迎页面
    	response.sendRedirect("wel.jsp?user="+u);
    }else{

    	//不合法,转到登录页面
    	response.sendRedirect("login.jsp");
    }

%>

</body>
</html>

欢迎界面代码:

<%@ page language="java" contentType="text/html; charset=gb2312" import="java.sql.*"
    pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>欢迎页面</title>
</head>
<body>
<center>
welcome,<%= request.getParameter("user") %><br>
<a href="login.jsp">返回重新登录</a>
<hr>
<%
	//分页的功能
	int pageSize = 3;   //每页显示3条记录
	int pageNow = 1;   //首先显示第一页的内容
	int pageCount = 0; //一共有多少页(通过计算获得)
	int rowCount = 0;  //一共有多少行记录(通过查表获得)

	//动态的接收pageNow的值
	String s_pageNow = request.getParameter("s_pageNow");
	if(null != s_pageNow)
	{
		pageNow = Integer.parseInt(s_pageNow);
	}

	//到数据库中查询rowCount的值
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	Connection ct = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TestServlet","sa","123456");
	PreparedStatement ps = ct.prepareStatement("select count(*)from users");
    ResultSet rs = ps.executeQuery();
    if(rs.next())
    {
    	rowCount = rs.getInt(1);
    }

    //计算pageCount的值
    if(rowCount%pageSize == 0)
    {
    	pageCount = rowCount/pageSize;
    }else
    {
    	pageCount = rowCount/pageSize + 1;
    }

    ps = ct.prepareStatement("select top "
    						+pageSize+" *  from users where userID not in (select top "
    						+pageSize*(pageNow-1)+" userID from users)");
    rs = ps.executeQuery();

    //用表格显示用户的信息
    %>
    <table border="1">
    <tr><td>用户ID</td><td>用户名</td><td>密码</td><td>邮箱</td><td>等级</td></tr>
    <%
	while(rs.next())
    {
		out.println("<tr>");
        out.println("<td>"+rs.getInt(1)+"</td>");
        out.println("<td>"+rs.getString(2)+"</td>");
        out.println("<td>"+rs.getString(3)+"</td>");
        out.println("<td>"+rs.getString(4)+"</td>");
        out.println("<td>"+rs.getInt(5)+"</td>");
        out.println("</tr>");
    }
    %>
    </table>
    <%
	//显示超链接
	if(1 != pageNow)
	{
        out.println("<a href=wel.jsp?s_pageNow=1>[首页]</a>");
        out.println("<a href=wel.jsp?s_pageNow="+(pageNow-1)+">[上一页]</a>"); 	

	}

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

	if(pageCount != pageNow)
	{
        out.println("<a href=wel.jsp?s_pageNow=1>[下一页]</a>");
        out.println("<a href=wel.jsp?s_pageNow="+(pageNow+1)+">[尾页]</a>");
	}
%>
</center>
</body>
</html>
时间: 2025-01-10 03:54:13

JSP第一个实例之用户管理系统的相关文章

JDBC MySQL 实例之 用户管理系统

1 Java 和 MySQL 怎么建立连接 2 通过Java怎么对数据库进行操作 1 package day01; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 import java.util.ArrayList; 9 impor

学生用户管理系统(二)

接着上一条随笔. 这个用户管理系统能够实现从sql server 数据库中的一张表读取用户名和密码来看是否与用户输入的相同,相同则进入另一个页面,否则跳messagebox. 若用户没有注册,该系统也提供了注册功能,如果注册的用户名重复了,系统会提示用户已重复.(这个功能研究的我最长时间,哎,醉了)如果没重复, 则成功注册,用户就可以通过注册后的用户登陆进去系统进入我们另一个页面了. 进入正题, 跟数据库连接时需要写出数据库的连接字符串,有两种形式. 即有Windows身份验证和SQL serv

用户管理系统网站框架改进之MVC模式

从之前的用户管理系统中我们会发现,JSP主要是做界面的,但却用了JSP来对用户进行验证和分页处理,而Servlet处理页面的转跳是最快捷和最方便的,所以对用户管理系统的框架进行了改进,使用MVC模式. MVC是一种设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分为三个核心部件:模型.视图和控制器.它们各自处理自己的任务. MVC的各个字母分别是M(model模型).V(view视图)和C(controller控制器) M主要由Java class来处理,也可以是Jav

Thrift教程初级篇——thrift安装环境变量配置第一个实例

前言: 因为项目需要跨语言,c++客户端,web服务端,远程调用等需求,所以用到了RPC框架Thrift,刚开始有点虚,第一次接触RPC框架,后来没想到Thrift开发方便上手快,而且性能和稳定性也不错,项目也顺利完成.所以给各位小白们,"科普"一下如何使用Thrift完成自己的远程调用. 1.什么是RPC:                      平时开发的服务,大多都是本地调用,如果说需要依赖他人服务了,而且他人的服务在远端,那怎么调用呢? RPC能够游刃有余的解决这样的问题.首

C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)

防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示. 主要用到两个API 函数: ShowWindowAsync 该函数设置由不同线程产生的窗口的显示状态. SetForegroundWindow 该函数将创建指定窗口的线程设置到前台,并且激活该窗口.键盘输入转向该窗口,并为用户改各种可视的记号.系统给创建前台窗口的线程分配的权限稍高于其他线程. 代码如下:引用以下命名空间: using Syste

对基于Servlet+JSP+JavaBean开发模式的用户登录注册的升级

还记得我前面所写的博文基于Servlet+JSP+JavaBean开发模式的用户登录注册吗?我们以前是创建代表数据库的xml文件来保存用户信息的,现在我们已经学习了数据库相关的知识,所以应把xml换成数据库,升级成数据库应用. 我们在把以前的工程复制并拷贝时,假设以前的工程名是day09_user,现复制一份并拷贝,重新修改工程名为day14_user,此刻将其直接部署在tomcat服务器上,那么day14_user这个JavaWeb应用映射的虚拟目录仍然是"/day09_user",

JAVA-MyEclipse第一个实例

相关资料: <21天学通Java Web开发> 实例代码: MyEclipse第一个实例1.打开MyEclipse程序.2.在PacKage视图->右击->New|Web Project.3.在“New Web Project”-“Project Name”输入“myjsp”.4.“Next”5.在“Source folders on build path”,文本框用来输入项目源文件的存储文件夹,一般选用默认文件夹, 也就是“src”.6.“Default output folde

用户管理系统的完成——Dreamweaver环境下

一.        用户管理系统的规划 1.       页面规划设计 "用户管理"分为用户登录入口与找回密码入口两个部分 用户管理系统网页功能表 页面 功能 index.php 用户开始登录的页面 welcome.php 用户登录成功后显示的页面 loginfail.php 用户登录失败后显示的页面 register.php 新用户用来注册个人信息的页面 regok.php 新用户注册成功后显示的页面 regfail.php 新用户注册失败后显示的页面 Lostpassword.ph

SpringMVC第一个实例

1.前言 最近在做一个考试系统,前台用的是SpringMVC的架构,所以打算写几篇博客总结一下有关SpringMvc的知识.曾记得以前用过.net版的MVC框架,所以整体理解起来不是很困难. 2.SpringMVC的整体架构 2.1 整体流程图 2.2 SpringMVC结构 看了上面的流程图,下面来简单的分析一下. DispatcherServlet:中央控制器,把请求转发给具体的控制器类 Controller:具体处理请求的控制器 HandlerMapping:映射处理器,负责映射中央处理器