javaweb

jsp用户的实例化

<jsp:useBean id="stu" class="beans.User" scope="session"></jsp:useBean>

其中id名称是你为这个用户起的名字,假如说,你是图书馆的系统同,你先设定一个类,名字叫User,然后根据你所需要的信息在User类里面设置好,比如uname,upass,邮箱,电话等等,这句代码的作用相当于

User stu=new User()

class就是表示类,是在beans下建的类
scope就是作用范围
(1)page表示将JavaBean实例对象存储在PageContext对象中,作用范围是当前JSP页面有效.
(2)request表示将JavaBean实例对象存储在ServletRequest对象中,存储在request对象中的JavaBean对象可以被属于同一个请求的所有Servlet和JSP页面访问。
(3)session表示将JavaBean实例对象存储在HttpSession对象中,存储在HttpSession对象中的JavaBean对象可以被属于同一个会话的所有Servlet和JSP页面访问,此设置要求当前JSP页面支持Session,即没有将page指令的session属性设置为false。也就是对一个特定用户有效,一个http会话。
(4)application表示将JavaBean实例对象存储在ServletContext对象中,存储在ServletContext对象中的JavaBean对象可以被同一个Web应用程序中的所有Servlet和JSP页面访问。也就是所有用户都可以使用。
还需要导入包

<%@ page import="dao.DAO"%>
<%@ page import="beans.User"%>

用java bean赋值

  1. 赋常量值
<jsp:setProperty property="属性" name="定义的类的名字" value="rose"/>
  1. 从表单元素中获取来的值
<jsp:setProperty property="属性名称" name="bean对象名" param="参数名"/>
  1. 将所有和属性名相同的参数的值放入bean对应的属性中
 <jsp:setProperty property="*" name="student"/>

用javabean 获取值

<jsp:getProperty property="name" name="student"/>

User类中的checkUser方法

public String checkUser(){
		String loginUser =this.getAcc();
		String loginPass = this.getPwd();
		
		if(loginUser==null || loginPass == null){
			
		}
		
		String sql ="select uname from ceshi.dbo.number where uname='"+loginUser+"' and upass='"+loginPass+"'";
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(ClassNotFoundException el){
			el.printStackTrace();
		}
		
		Connection conn=null;
		Statement stat=null;
		ResultSet rs =null;
		
		try{
			conn = DriverManager.getConnection("jdbc:odbc:text");
			stat=conn.createStatement();
			rs=stat.executeQuery(sql);
			
			if(rs.next()){
				acc=rs.getString("uname");
		}
		if (stat!=null){
			stat.close();
		}
		if(conn!=null){
			stat.close();
		}
		
			}catch(SQLException el){
				el.printStackTrace();}
		return acc;
			}

DAO中获取数据库中所有人的信息

public ArrayList getAllusers() throws Exception {
		Connection conn=null;
		java.sql.Statement stat=null;
		ResultSet rs =null;
		ArrayList students= new ArrayList();
try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        conn = DriverManager.getConnection("jdbc:odbc:text");
        
		String sql="select * from ceshi.dbo.number";
		stat=conn.createStatement();
		rs=stat.executeQuery(sql);
		
		while(rs.next()){
			User user=new User();
			user.setAcc(rs.getString("uname"));
			user.setPwd(rs.getString("upass"));
			students.add(user);
		}
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			try{
				if(conn !=null){
					conn.close();
					conn=null;
				}
			}catch(Exception ex){
				
			}
		}
		return students;
		}

DAO中的添加注册功能

public int addUser(User user) throws ClassNotFoundException{
		int i=0;
		String uname=user.getAcc();
		String upass=user.getPwd();
		Connection conn=null;
		java.sql.Statement stat=null;
		ResultSet rs =null;
		try {
			 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		        conn = DriverManager.getConnection("jdbc:odbc:text");
		        String sql="insert into ceshi.dbo.number(uname,upass) values('"+uname+"','"+upass+"')";
				stat=conn.createStatement();
				rs=stat.executeQuery(sql);
				
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return i;
	}

相应页面

(1)添加用户

<jsp:useBean id="stu" class="beans.User" scope="session"></jsp:useBean> 
 <jsp:setProperty property="*" name="stu"/>
 <%
 DAO dao=new DAO();
 int i=dao.addUser(stu);
  %>
  <% if(i>0){%>
  成功插入一行
  <%} %>

(2)输出所有用户

<%
  DAO dao=new DAO();
  User user=new User();
  ArrayList students=dao.getAllusers(); 
  %>
  <table border=2>
  <tr>
  <td>姓名</td>
  <td>密码</td>
  </tr>
  <% for(int i=0;i<students.size();i++) {
        user=(User)students.get(i);%>
        
        <tr>
        <td><%=user.getAcc() %></td>
        <td><%=user.getPwd() %></td>
        <% }%>
        </tr>
        </table>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值