JSP+JavaBean

使用JSP+JavaBean模式编写一个简单的用户信息管理系统

考虑实现一个数据库单表操作的简单Web应用,系统需求如下:

普通用户功能:用户登录系统;用户注册;

1、数据库设计

在SQL Server中使用企业管理器建立数据库和user表。user表的字段设计如下:


字段名


id


name


password


email


age


birthday


money


描述


自增型int


varchar


varchar


varchar


int


datetime


float

2、创建User JavaBean

创建User JavaBean,其属性和类型如下:


属性名


id


name


password


email


age


birthday


money


类型


int


String


String


String


int


datetime


float

3、为User JavaBean增加业务方法

Student JavaBean的业务方法有login、register,分别实现用户登录验证、注册用户信息。在Student JavaBean中增加实现上述功能的代码并测试释放正常。

4、编写JSP页面实现用户登录、用户注册

编写实现用户登录、注册的页面,并调试程序是否正常。

User类:

package JavaBeen_Demo;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class User {
	private int id;
	private String name;
	private String password;
	private int age;
	private String email;
	private String birthday;
	private float money;

	public User(){};

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public float getMoney() {
		return money;
	}

	public void setMoney(float money) {
		this.money = money;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	//登录
	public User login(){
		User user=null;
		DBConnection db=new DBConnection();
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		try {
			conn=db.getConnection();
			String sql="select * from yonghu where name='"+this.name+"'";
			System.out.println(sql);
			ps=conn.prepareStatement(sql);
			rs=ps.executeQuery();
			while(rs.next()){
				user=new User();
				user.name=rs.getString("name");
				user.password=rs.getString("password");
				user.age=rs.getInt("age");
				user.email=rs.getString("email");
				user.birthday=rs.getString("birthday");
				user.money=rs.getFloat("money");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		db.close(rs);
		db.close(ps);
		db.close(conn);
		return user;
	}

	//注册
	public boolean register(){
		DBConnection db=new DBConnection();
		Connection conn=null;
		PreparedStatement ps=null;
		boolean flag=false;
		try {
			conn=db.getConnection();
			String sql="insert into yonghu values(?,?,?,?,?,?)";
			ps=conn.prepareStatement(sql);
			ps.setString(1, this.name);
			ps.setString(2,this.password);
			ps.setInt(3,this.age);
			ps.setString(4,this.email);
			ps.setString(5,this.birthday);
			ps.setFloat(6,this.money);
			ps.executeUpdate();
			flag=true;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		db.close(ps);
		db.close(conn);
		return flag;
	}

}

连接数据库(SQL Server):

package JavaBeen_Demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBConnection {
	static String user="sa";
	static String password="a123456";
	static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
	static String url="jdbc:sqlserver://localhost:1433;DatabaseName=User";
	Connection conn;
	PreparedStatement ps;
	ResultSet rs;
	static{
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			System.out.println("鍔犺浇椹卞姩鍑洪敊");
		}
	}

	public  Connection getConnection() throws SQLException{
		conn=DriverManager.getConnection(url,user,password);
		return conn;
	}

	public void close(Connection connection,PreparedStatement preparedStatement,ResultSet rsResultSet) {
		try {
			if (null!=rsResultSet) {
				rsResultSet.close();
			}
			if (null != preparedStatement) {
				preparedStatement.close();
			}
			if(null!=connection){
				connection.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public  void close(Connection conn) {
		try {
			if(conn != null) {
				conn.close();
				conn = null;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public  void close(PreparedStatement ps) {
		try {
			if(ps != null) {
				ps.close();
				ps = null;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public  void close(ResultSet rs) {
		try {
			if(rs != null) {
				rs.close();
				rs = null;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

主界面:

<!DOCTYPE html>
<html>
  <head>
    <title>Main.html</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  </head>

  <body>
    <a href="log.html" name="log">登录</a><br/>
    <a href="registerl.html" name="register">注册</a><br/>
  </body>
</html>

登录界面:

<!DOCTYPE html>
<html>
<head>
<title>log.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

</head>

<body>
	<center>
		用户登录
		<form action="../JSP/log_do.jsp" method="post">
			用户名:<input type="text" name="name" /><br />
			 密码:  <input type="password" name="password" /><br />
			 <input type="submit" value="登录" />
		</form>
	</center>
</body>
</html>

注册界面:

<!DOCTYPE html>
<html>
  <head>
    <title>registerl.html</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>

  <body>
    <center>
    	注册界面
    	<form action="../JSP/register_do.jsp" method="post">
    	用户名:<input type="text" name="name"/><br/>
    	密码:<input type="password" name="password"/><br/>
    	年龄:<input type="text" name="age"/><br/>
    	邮箱:<input type="text" name="email"/><br/>
    	生日:<input type="text" name="birthday"/><br/>
    	金钱:<input type="text" name="money"/><br/>
    	<input type="submit" value="注册"/><br/>
    	</form>
    </center>
  </body>
</html>

登录界面的操作:

<%@ page language="java" import="java.util.*,JavaBeen_Demo.*" 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>登录操作</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">

  </head>

  <body>
  	<!-- javabeen -->
   	<jsp:useBean id="user" class="JavaBeen_Demo.User" scope="session"/>
    <jsp:setProperty name="user" property="*"/>
    <%
    	User new_user=user.login();
    	request.setAttribute("info", new_user);//传对象
    	if(new_user!=null){//如果存在此user
    		request.getRequestDispatcher("Info.jsp").forward(request, response);
    	}
    	else{
    		request.getRequestDispatcher("Faild.jsp").forward(request, response);
    	}
     %>
  </body>
</html>

注册界面操作:

<%@ page language="java" import="java.util.*,JavaBeen_Demo.*" 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>注册操作</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">

  </head>

  <body>
    <jsp:useBean id="user" class="JavaBeen_Demo.User" scope="session"/>
    <jsp:setProperty name="user" property="*"/>
    <%
    	boolean flag=user.register();
    	if(flag){
    		request.getRequestDispatcher("Success.jsp").forward(request, response);
    	}
    	else{
    		request.getRequestDispatcher("Faild.jsp").forward(request, response);
    	}
     %>
  </body>
</html>

个人信息界面:

<%@ page language="java" import="java.util.*,JavaBeen_Demo.*" 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>个人信息</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">

  </head>

  <body>
  <center>
  	<%
  		User user=(User)request.getAttribute("info");//接收对象
  	 %>
  	 id: 
  	 <%=user.getId() %><br/>
  	 name: 
  	 <%=user.getName() %><br/>
  	 password: 
  	 <%=user.getPassword() %><br/>
  	 age: 
  	 <%=user.getAge() %><br/>
  	 birthday: 
  	 <%=user.getBirthday() %><br/>
  	 email: 
  	 <%=user.getEmail() %><br/>
  	 money: 
  	 <%=user.getMoney() %><br/>
  	 </center>
  </body>
</html>

登录成功界面:

<%@ 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 'Success.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>
    	注册成功!
  </body>
</html>

登录失败界面:

<%@ 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 'Faild.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>
    注册失败!
  </body>
</html>
时间: 2024-08-26 00:49:52

JSP+JavaBean的相关文章

抄袭的用Jsp+JavaBean+Mysql实现的登录和注册

用Jsp+JavaBean+Mysql实现的登录和注册 (2010-11-18 20:54:43) 转载▼ 标签: 软件   共同学习和进步:一个简单的用户登录和注册系统. 代码比较简单,希望对刚开始学习的同学有所帮助. 具体代码如下: *******用户注册页面 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%><html>  <he

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

Jsp+JavaBean+Servlet实现模拟银行账户存取款等功能的网站(实习第4-8天)

本来想学J2EE的3个经典框架(Spring + Struts +Hibernate),奈何负责实习的老师只讲了Jsp+JavaBean+Servlet,项目时间还蛮紧的,所以只用JJS实现了这个项目,后面寒假有时间的话再用SSH实现并完善这个网站吧.前几天抽时间学了点前端的东西,感觉还是有点麻烦的,前端做既漂亮又有良好的兼容性不是件太容易的事情,所幸现在觉得能够静下来学技术做开发是件挺幸福的事情.网站的源代码上传到了CSDN上的code仓库,以后有时间会慢慢把这个项目的前端和后台做的更完善.

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

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

Java Web学习(19):阶段项目之使用JSP+JavaBean完成用户登录

Model1简介 Java Web应用程序的开发总体上来说有两个模型就是Model1和Model2.Model1模型出现前,整个Web应用 的情况:几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应.这样的弊端显露无 疑:在界面层充斥着大量的业务逻辑的代码和数据访问层的代码,Web程序的可扩展性和可维护性特别差. JavaBean的出现可以使JSP页面中使用JavaBean封装的数据或者调用JavaBean的业务逻辑代码,这样大大提高 了程序的可维护性. Model

JSP练习之简单计算器(使用jsp+javabean模式)

实现一个简单的计算器程序,要求:使用jsp+javabean模式实现. 项目源代码如下: 文件:calculator.jsp <%@ page language="java" pageEncoding="UTF-8"%> <%@ page isErrorPage="true"%> <%@ page errorPage="calculator.jsp" %> <%@ taglib uri

Servlet+JSP+JavaBean开发模式(MVC)介绍

好伤心...写登陆注册之前看见一篇很好的博文,没有收藏,然后找不到了. 前几天在知乎上看见一个问题,什么时候感觉最无力. 前两天一直想回答:尝试过google到的所有solve case,结果bug依然在. 今天想回答:明明遇见过,就是找不到那篇文的时候.哭! ================================================ 学习mvc模式(其实是JSP作业),当然这个不只是Servlet+JSP+JavaBean一种case,它是一种思想,实现web系统的职能分

深入分析JavaWeb Item19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat