login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
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%>">
</head>
<body bgcolor = "pink">
<!-- 居中对齐 -->
<center>
用户登录<br>
<hr>
<%
String flag = request.getParameter("errNo");
try{
if(flag.equals("1")){
out.println("密码错误");
}
if(flag.equals("2")){
out.println("用户名不存在");
}
}catch(Exception e){
e.printStackTrace();
}
%>
<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.* , com.yyy.model.*" pageEncoding="gb2312"%>
<%
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>
</head>
<body>
<%
//接收用户名和密码
String u = request.getParameter("username");
String p = request.getParameter("passwd");
//调用userbean处理的方法
UserBeanCl ubc = new UserBeanCl();
if(ubc.checkUser(u, p)){
response.sendRedirect("wel.jsp?user="+u);
}else{
response.sendRedirect("login.jsp");
}
%>
</body>
</html>
wel.jsp
<%@ page language="java" import="java.util.*, java.sql.*, com.yyy.model.*" pageEncoding="gb2312"%>
<%
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>
</head>
<body>
登陆成功!<%= request.getParameter("user") %><br>
<a href="login.jsp">重新登陆</a>
<h1>用户列表</h1>
<%
//定义分页用到的4个变量
int pageNow = 1; //默认第一页
int pageCount = new UserBeanCl().getPageCount();
//获取页面传来的pageNow信息
String pp = request.getParameter("pageTo");
if(pp != null){
try{
pageNow = Integer.parseInt(pp);
}catch(Exception e){
out.println("pagenow=" + pageNow);
e.printStackTrace();
}
}
//查询所有的记录数
%>
<table border = "1">
<tr><td>用户ID</td><td>名字</td><td>密码</td><td>Email</td><td>级别</td></tr>
<%
UserBeanCl ubc = new UserBeanCl();
UserBean ub = new UserBean();
ArrayList al = new ArrayList();
al = ubc.getUsersByPage(pageNow);
for(int i=0; i<al.size(); i++){
ub =(UserBean) al.get(i);
%>
<!-- 注意:这里使用的是字符串的形式得到值 rs.getInt("userid") rs.getInt(1) 会出异常!!待答复-->
<tr><td><%=ub.getUserId()%></td><td><%=ub.getUsername() %></td><td><%=ub.getPasswd() %></td><td><%=ub.getEmail() %></td><td><%=ub.getGrade() %></td></tr>
<%
}
%>
</table>
<%
//显示超链接
//首页
out.println("<a href=wel.jsp?pageTo="+1+">首页</a>");
//上一页
if(pageNow != 1){
out.println("<a href=wel.jsp?pageTo="+(pageNow - 1)+">上一页</a>");
}
// 判断页数的
if(pageNow == 1){
for(int i = pageNow; i <= pageNow + 5; i++){
out.println("<a href= wel.jsp?pageTo="+i+"> ["+i+"] </a>");
}
}else if(pageNow == 2){
for(int i = pageNow-1; i < pageNow + 5; i++){
out.println("<a href= wel.jsp?pageTo="+i+"> ["+i+"] </a>");
}
}else if(pageNow == pageCount){
for(int i = pageCount-4; i <= pageCount; i++){
out.println("<a href= wel.jsp?pageTo="+i+"> ["+i+"] </a>");
}
}else if(pageNow == pageCount-1){
for(int i = pageCount-3; i <= pageCount+1; i++){
out.println("<a href= wel.jsp?pageTo="+i+"> ["+i+"] </a>");
}
}else{
for(int i=pageNow - 2; i <= pageNow + 2; i++){
out.println("<a href= wel.jsp?pageTo="+i+"> ["+i+"] </a>");
}
}
//显示写一页
if(pageNow != pageCount){
out.println("<a href=wel.jsp?pageTo="+(pageNow + 1)+">下一页</a>");
}
//末页
out.println("<a href=wel.jsp?pageTo="+pageCount+">末页</a>");
%>
</body>
</html>
下面是jav段
UserBean.java
package com.yyy.model;
//userbean
public class UserBean {
private int userId;
private String username;
private String passwd;
private String email;
private int grade;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
UserBeanCl.java
//也叫做bo 主要是封装对users表的各种操作
package com.yyy.model;
import java.sql.*;
import java.util.ArrayList;
public class UserBeanCl {
private Statement smt = null;
private ResultSet rs = null;
private Connection conn = null;
private int rowCount = 0;//所有记录数
private int pageCount=0;// rowCount/pageSize
private int pageSize = 3; //每页显示3个
//返回总页数
public int getPageCount(){
try{
//连接数据库
conn = new ConnDB().getConn();
smt = conn.createStatement();
rs = smt.executeQuery(" select count(*) from yyytestusers");
if(rs.next()){
// rowCount = Integer.parseInt(rs.getString(1));
rowCount = rs.getInt(1);
}
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
if(rowCount%pageSize == 0){
pageCount = rowCount / pageSize;
}else{
pageCount = rowCount / pageSize + 1;
}
return pageCount;
}
//对用户的信息分页
public ArrayList getUsersByPage(int pageNow){
ArrayList al = new ArrayList();
try{
//创建Statement
conn = new ConnDB().getConn();
smt = conn.createStatement();
//查询
// StringBuffer sb = "select passwd from yyytestusers where username = ';
// rs = smt.executeQuery("select count(*) from yyytestusers ");
String select_by_pageNow = "select * from (select rownum rn, a.* from yyytestusers a) where rn < "+ (pageNow*pageSize+1)
+"and rn not in (select rn from (select rownum rn, a.* from yyytestusers a) where rn < "+((pageNow-1)*pageSize+1) +
") order by userid";
rs = smt.executeQuery(select_by_pageNow);
//一定要rs.next() rs才指向要取得值的地方
while(rs.next()){
UserBean ub = new UserBean();
ub.setUserId(rs.getInt(2));
ub.setUsername(rs.getString(3));
ub.setPasswd(rs.getString(4));
ub.setEmail(rs.getString(5));
ub.setGrade(rs.getInt(6));//这个也是可以的。但是在数据库中。他是第二个整数。所以取2
//ub.setGrade(rs.getInt("grade"));
al.add(ub);
}
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return al;
}
//验证用户是否合法
public boolean checkUser(String u, String p){
boolean b = false;
//创建statement
try{
conn = new ConnDB().getConn();
smt = conn.createStatement();
rs = smt.executeQuery("select passwd from yyytestusers where username = '"+ u +"'");
//
if(rs.next()){
//c存在用户名
//判断密码
if(rs.getString(1).equals(p)){
//response.sendRedirect("wel.jsp?user="+u);
b = true;
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
this.close();
}
return b;
}
//关闭资源
public void close(){
//关闭数据库资源
try{
if(rs != null)
rs.close();
rs = null;
if(smt != null)
smt.close();
smt = null;
if(conn != null)
conn.close();
conn = null;
}catch(Exception e){
e.printStackTrace();
}
}
}
连接数据库ConnDB.java
//与数据库连接
package com.yyy.model;
import java.sql.*;
public class ConnDB {
private Connection conn = null;
public Connection getConn(){
try{
//在数据库中验证用户
String className="oracle.jdbc.driver.OracleDriver";
// String url = "jdbc:oracle:thin:@192.168.1.3:1521:unionuat";
String url = "jdbc:oracle:thin:@192.168.1.3:1521:unionuat";
String userName = "sales_jacdcs";
String userPass ="sales_jacdcs";
//加载驱动
Class.forName(className);
//得到连接
//注意这里饭的错误:url userName uerPass已经是字符串的格式。下面的语句不需要加""双引号。害了我10分钟
conn = DriverManager.getConnection(url,userName,userPass);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}
数据库表users
创建数据表语句
分享到:
相关推荐
在这个特定的项目中,“Jsp+java编写的登录界面连接数据库”意味着开发者利用了这两门技术来创建一个允许用户输入凭证并验证这些凭证是否与数据库中的记录匹配的系统。以下将详细介绍这个过程涉及的关键知识点。 1....
在Web开发中,构建一个用户登录系统是常见的需求。本实例将详细讲解如何利用JavaServer Pages (JSP)、Servlet、JavaBean以及Java Database Connectivity (JDBC) 来实现这样一个简单的登录功能。 **一、JSP(Java...
【JAVA WEB大作业 JSP+SERVLET+JAVABEAN模式开发】是一个典型的Java Web应用程序开发项目,它涉及到Web开发中的三个关键组件:JSP(JavaServer Pages)、Servlet和JavaBean。这个项目的目的是让学生熟悉这些技术的...
在这里,Flex负责用户界面的设计和交互,提供丰富的图形和动画效果,使用户登录注册界面具有良好的用户体验。 3. **JSP (JavaServer Pages)**:JSP是一种服务器端脚本语言,用于生成动态Web内容。在用户登录注册...
在本系统中,JSP主要负责展示用户界面,通过内置的动作标签(如<jsp:useBean>、<jsp:setProperty>等)以及EL(Expression Language)表达式,与JavaBean进行交互,实现数据的展示和用户的交互操作。 JavaBean是一种...
这种模式中,JSP主要负责展示用户界面,JavaBean则作为业务逻辑层。JSP页面直接调用JavaBean中的方法来处理用户请求和显示数据。 - JSP:JSP是一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码,以便在...
标题"jsp+hibernate+struts2简单登录和注册"指出,这个项目是基于Java Web技术栈实现的一个基础的用户登录和注册功能。它结合了三种关键技术:JSP(JavaServer Pages)、Hibernate(一个对象关系映射框架)以及...
例如,可以使用session来保持用户登录状态,使用Ajax进行部分页面的异步刷新,或者使用MVC模式(Model-View-Controller)来更好地组织代码结构。 总之,"java基于servlet+jsp+mysql简单宿舍管理系统jsp原生界面开发...
在Web开发领域,Servlet、JSP(JavaServer ...总的来说,使用Servlet、JSP和JavaBean开发用户登录注册程序,能够有效地分离关注点,提高代码的可读性和可维护性。结合MVC模式,可以构建出灵活且易于扩展的Web应用。
在图书馆管理系统中,JSP主要负责展示用户界面,接收用户的输入,如图书查询、借阅、归还等操作,并将结果显示给用户。通过JSP的内置对象(如request、response、session等),可以方便地处理HTTP请求,实现与服务器...
1. JSP页面:这些页面构成了用户界面,通常包括登录页面、图书列表页面、添加/编辑图书页面等。它们会通过JSP表达式和脚本元素与JavaBean进行交互,将数据显示在页面上或从页面获取用户输入。 2. JavaBean:这些Java...
1. **JSP(JavaServer Pages)**:JSP是Java Web开发中的一种视图技术,主要用于生成动态网页。在JSP页面中,可以嵌入Java代码或使用JSP标签库来处理业务逻辑和数据展示。在图书管理系统中,JSP页面通常用于展示图书...
总的来说,"JSP+Servlet+JavaBean"模式是构建登录注册系统的基础,通过配合MySQL数据库,可以实现用户数据的有效存储和管理。理解这个模式及其组件的工作原理对于任何希望在Java Web开发领域深入学习的人来说都是至...
【标题】"jsp+servlet+bean编写的登入界面"涉及的主要技术是Java Web开发中的三个核心组件:JSP(JavaServer Pages)、Servlet和Bean。这是一个经典的Web应用架构,用于构建动态交互式的用户界面。 **JSP(Java...
在本项目中,“基于JSP+JavaBean+Mysql+JDBC+Servlet实现javaWeb登录注册”是一个典型的Java Web应用程序,它使用了多种核心技术来构建一个完整的用户管理系统,包括用户登录和注册。以下是对这些技术及其在项目中的...
在用户登录过程中,Servlet接收来自JSP的请求,处理这些请求,例如验证用户输入的凭据。Servlet还可以负责与数据库的交互,以检查用户名和密码是否匹配。 3. **DAO(Data Access Object)**:DAO模式是一种设计模式...
这是一个基于Java、JSP和Access数据库的简单留言板程序。该程序提供了一个基本的交互平台,让用户可以在网站上留下他们的信息,而无需注册或登录。以下是关于这个程序的一些关键知识点: 1. **Java**: Java是一种...
本项目采用JSP(JavaServer Pages)技术结合Java和JavaBean模式进行开发,对于初学者来说是一个很好的实践平台。下面将详细阐述这个系统的主要组成部分和其在Web开发中的应用。 首先,JSP是Java的一种动态网页技术...
在IT行业中,构建Web应用程序是常见的任务之一,而JSP(JavaServer Pages)、JavaBean和Servlet是Java Web开发中的核心技术,常用于构建动态网站。本项目利用这些技术实现了用户注册和登录的功能,以下是对这些技术...
这个系统利用了Java Server Pages (JSP)、Servlet以及Java语言来构建一个功能完备的后台处理模块,为用户提供对停车场信息的实时查询、管理以及操作功能。下面将详细介绍这些关键技术和知识点。 **1. Java Server ...