Java网课基础笔记(7)19-07-19

1.jsp获取当前系统时间:使用Date对象的toString()方法。

<body>
<%
Date date=new Date();
%>
当前时间为 <%=date.toString() %>
</body>

 

2.jsp日期比较

  • 使用getTime()方法得到毫秒数,然后比较毫秒数就行了。
  • 使用before(),after(),equals()方法。比如,new Date(99,2,12).before(new Date(99,2,18))返回true。
  • 使用compareTo()方法,这个方法在Comparable接口中定义,在Date中实现。

3.jsp格式化日期:使用SimpleDateFormat格式化

<body>
<%
Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
%>
当前时间为 <%=date.toString() %><br>
格式化:<%=df.format(date) %>
</body>

4.jsp页面重定向

<body>
<%
   // 重定向到新地址
   //方法一:response对象的sendRedirect()方法
   response.sendRedirect("http://www.runoob.com");
   //方法二
   String site = new String("http://www.runoob.com");
   response.setStatus(response.SC_MOVED_TEMPORARILY);
   response.setHeader("Location", site); 
%>
</body>

5.点击统计访问量

要实现一个计数器,您可以利用应用程序隐式对象和相关方法getAttribute()和setAttribute()来实现。

这个对象表示JSP页面的整个生命周期中。

<body>
<%
    Integer hitsCount = 
      (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* 第一次访问 */
       out.println("欢迎!");
       hitsCount = 1;
    }else{
       /* 返回访问值 */
       out.println("再次欢迎!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>页面访问量为: <%= hitsCount%></p>
</body>

6.jsp自动刷新

<%
   // 设置每隔5秒刷新一次
   response.setIntHeader("Refresh", 5);
%>

7.jsp连接数据库


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

public class DataBaseConnection {
	private static String driverStr="com.mysql.jdbc.Driver";//驱动列表
	private static String connStr="jdbc:mysql://localhost/mySql";//mySql是我自己的数据库名
    private static String dbusername="root";//数据库用户名
    private static String dbpassword="12345678";//密码和数据库一致 
    private static Connection conn=null;//数据库的连接对象
    private static Statement stmt=null;//创建Statement对象
	public DataBaseConnection() {		}
//一个静态方法,返回一个数据库的连接,这样达到了对数据库连接统一控制的目的
	public static Connection getConnection() throws SQLException {
		try{
			Class.forName(driverStr);//加载驱动程序
			conn = DriverManager.getConnection(connStr,dbusername, dbpassword);//连接数据库			
		}
		catch(Exception ex){System.out.println("无法同数据库建立连接!");}		
		return conn;
	}
	public int executeUpdate(String s)
	{
	    int result=0;
	    try{
	    	stmt = conn.createStatement();//创建Statement语句
	    	result=stmt.executeUpdate(s);//执行更新语句
	    	}
	    catch(Exception ex){System.out.println("执行更新错误!");}
	    return result;
	}
	public ResultSet executeQuery(String s)
	{
		ResultSet rs=null;
		try{rs=stmt.executeQuery(s);}//执行查询语句
		catch(Exception ex){System.out.println("执行查询错误!");}
		return rs;
	}
	public static void close()//关闭与数据库的连接
	{
		try{
			stmt.close();
			conn.close();
		}
		catch(Exception e){}
	}
	public static void main(String[] args) {
		try {
			Connection conn=DataBaseConnection.getConnection();
			if(conn!=null)
			{
				System.out.println("连接数据库正常");
			}
			else {
				System.out.println("连接数据库异常");
			}
		} catch (Exception ex) {
			// TODO: handle exception
			ex.printStackTrace();
		}
	}
	
}

8.jsp的JavaBean

JavaBean是特殊的Java类,使用Java语言书写,并且遵守JavaBean API规范。

接下来给出的是JavaBean与其它Java类相比而言独一无二的特征:

  • 提供一个默认的无参构造函数。
  • 需要被序列化并且实现了Serializable接口。
  • 可能有一系列可读写属性。
  • 可能有一系列的"getter"或"setter"方法。
public class StudentsBean implements java.io.Serializable
{
   private String firstName = null;
   private String lastName = null;
   private int age = 0;

   public StudentsBean() {
   }
   public String getFirstName(){
      return firstName;
   }
   public String getLastName(){
      return lastName;
   }
   public int getAge(){
      return age;
   }

   public void setFirstName(String firstName){
      this.firstName = firstName;
   }
   public void setLastName(String lastName){
      this.lastName = lastName;
   }
   public void setAge(int age) {
      this.age = age;
   }
}

访问JavaBean:

<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>
<body>

<jsp:useBean id="date" class="java.util.Date" /> 
<p>日期为:<%= date %>

</body>

访问JavaBean对象属性

在 <jsp:useBean> 标签主体中使用 <jsp:getProperty/> 标签来调用 getter 方法,使用 <jsp:setProperty/> 标签来调用 setter 方法,语法格式如下:

<jsp:useBean id="id" class="bean 编译的类" scope="bean 作用域">
   <jsp:setProperty name="bean 的 id" property="属性名"  
                    value="value"/>
   <jsp:getProperty name="bean 的 id" property="属性名"/>
   ...........
</jsp:useBean>
<body>

<jsp:useBean id="students" 
                    class="com.runoob.StudentsBean"> 
   <jsp:setProperty name="students" property="firstName"
                    value="小强"/>
   <jsp:setProperty name="students" property="lastName" 
                    value="王"/>
   <jsp:setProperty name="students" property="age"
                    value="10"/>
</jsp:useBean>

<p>学生名字: 
   <jsp:getProperty name="students" property="firstName"/>
</p>
<p>学生姓氏: 
   <jsp:getProperty name="students" property="lastName"/>
</p>
<p>学生年龄: 
   <jsp:getProperty name="students" property="age"/>
</p>

</body>
//结果
学生名字: 小强
学生姓氏: 王
学生年龄: 10

 9.九大内置对象

(1. request对象

request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每当客户端请求页面时,JSP引擎将创建一个新对象来表示该请求。

request对象提供了获取包括表单数据,Cookie,HTTP方法等HTTP头信息的方法。

(2. response对象

response对象是javax.servlet.http.HttpServletResponse对象的一个实例。就像服务器创建request对象一样,它还创建一个对象来表示对客户端的响应。

response对象还定义了处理创建新HTTP头的接口。通过此对象,JSP程序员可以添加新的Cookie或日期戳,HTTP状态代码等。

(3. out对象

out隐式对象是javax.servlet.jsp.JspWriter对象的一个实例,用于在响应中发送内容。

初始化JspWriter对象根据页面是否缓存而不同地实例化。缓冲可以通过使用page指令的buffered ='false'属性来关闭。

JspWriter对象包含与java.io.PrintWriter类大部分相同的方法。但是,JspWriter还有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter会抛出IOExceptions异常。

(4. session对象

session对象是javax.servlet.http.HttpSession的一个实例,其行为与Java Servlet下的会话对象行为完全相同。
session对象用于跟踪客户端请求之间的客户端会话。

(5. application对象

application对象是生成的ServletServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的一个实例。

application对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()方法删除时application对象也将被删除。

通过向application对象添加属性值,可以确保组成Web应用程序的所有JSP文件都可以访问它。

(6. config对象

config对象是javax.servlet.ServletConfig的实例化,是生成的servlet的ServletConfig对象周围的直接包装。

(7. pageContext对象

pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。

(8. page对象

page对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。

page对象是this对象的直接同义词。

(9. exception对象

exception对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。

10.四大作用域

  1. page(pageContext):只在一个页面中保存属性。 跳转之后无效。
  2. request:只在一次请求中有效,服务器跳转之后有效。 客户端跳无效
  3. session:再一次会话中有效。服务器跳转、客户端跳转都有效。 网页关闭重新打开无效
  4. application:在整个服务器上保存,所有用户都可使用。 重启服务器后无效

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值