JavaWeb之内置对象application&封装java代码

目录

一、什么是application;

二、使用application的一个简单案例;

三、学习JavaBean封装java代码;


一、什么是application;

1、application类似于系统的一个"全局变量",用于实现用户之间的数据共享;

2、它可以实现统计在线人数;

3、而它的数据【作用域】是随着浏览器的打开和关闭之间有效的。

 1.1 application有那些语法?

存值:application.setAttribute(键String,值Object)
取值:application.getAttribute(键) 


二、使用application的一个简单案例;

2.1 好啦,看过了application的一些简单概念和语法后我们就一起来看看如何利用它来完成一个简单的小案例:统计模拟网站在线人数;

步骤1:建立一个jsp页面,用一句话来模拟网站;

	

您是第<%= ? %>位访问该网站的用户!

步骤2:用application拿值 ;

	//先拿值
	Integer count = (Integer)application.getAttribute("count");

步骤3:判断count是否为空,不为空就加1,为空就将它等于1;

     //判断赋值		
    if(count!=null){
		count++;
    }
	else{
		count=1;
	}

步骤4:用application存值&用application给前面那句话赋值;

	<%
        //存值
        application.setAttribute("count", count);//存值 键,值
    %>

    //赋值
    	

您是第<%= application.getAttribute("count") %>位访问该网站的用户!

看看效果吧: 

JavaWeb之内置对象application&封装java代码_第1张图片


 三、学习JavaBean封装java代码;

JavaBean封装java代码:

其实就是吧jsp页面的java代码封装到JavaResources的src里面进行一个大搬家;

但是搬家是个大工程,今天Leaf带大家搬的也只是jsp页面所有的连接JDBC的Java代码罢了;

好啦现在我们就一起来看看这个家怎么个搬法吧~

搬家步骤1:在JavaResources-src里建立三个包,分别是Dao包、entity包、util包

注:分别放数据库访问类、实体类、DBHelper类,biz暂时忽略。

JavaWeb之内置对象application&封装java代码_第2张图片

 搬家步骤2:按照java代码一样的建立实体类、DBHelper类;

 DBHelper类代码

public class DBHelper {
	
	//两个静态常量
	private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
	private static final String CNAME = "oracle.jdbc.driver.OracleDriver";
	
	//加载驱动
	static {
		try {
			Class.forName(CNAME);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	//创建连接
	public static Connection getCon() {
		Connection con = null;
		try {
			con = DriverManager.getConnection(URL, "scott", "tiger");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
	}
	
	/**
	 * 关闭资源
	 * @param con 连接
	 * @param ps 执行对象
	 * @param rs 结果集
	 */
	public static void myClose(Connection con,PreparedStatement ps,ResultSet rs) {
		try {
			if(con!=null&&!con.isClosed()){
				con.close();
			}
			if(ps!=null){
				ps.close();
			}
			if(rs!=null){
				rs.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

搬家步骤3:参照原本写在jsp页面的连接JDBC数据库执行SQL的代码建立Dao类;

Dao方法代码

	//三兄弟
	private Connection con = null;
	private PreparedStatement ps = null;
	private ResultSet rs = null;
	
	/**
	 * 登录
	 * @param sname 用户名
	 * @param spwd 密码
	 * @return 登录成功与否
	 */
	public boolean login(String sname,String spwd) {
		boolean f = false;
		try {
			//创建连接
		 	con = DBHelper.getCon();
		 	//定义sql语句
			String sql = "select * from tb_0327 where sname=? and spwd=?";
			//获得执行对象
			ps = con.prepareStatement(sql);
			//给占位符赋值
			ps.setString(1,sname);
			ps.setString(2, spwd);
			//开始执行
			rs = ps.executeQuery();
			//判断 循环遍历
			if(rs.next()) {
				f = true;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {//不管报不报异常都要关闭资源
			DBHelper.myClose(con, ps, rs);
		}
		return f;
	}

搬家步骤4:将jsp页面相关的<%%>内的java代码注释;

注:等到测试搬家后页面功能无误后再删掉,建议备份好再搬家;

代码示例

    //接收表单提交过来的值:用户名 密码
	String name = request.getParameter("aa");
	String mm = request.getParameter("bb");

    //调用登录的Dao方法
	UserDao ud = new UserDao();
	boolean f = ud.login(name, mm);

	if(f){//登录成功
        //重定向
		response.sendRedirect("news/admin.jsp");
    }

好啦,这些就是Leaf今天给大家带来的学习笔记分享!

后期还会有的更多的JavaWeb的学习笔记分享,喜欢的可以关注我一起来学习噢~ 

你可能感兴趣的:(JavaWeb,前端,eclipse,java,前端)