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 exceptionex.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:在整个服务器上保存,所有用户都可使用。 重启服务器后无效

Java网课基础笔记(7)19-07-19相关推荐

  1. Java网课基础笔记(20)19-08-02

    为了更好的学习Springmvc和mybatis整合开发方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用Springmvc.持久层使用mybatis实现. 需求:实现商品 ...

  2. Java网课基础笔记(31)19-08-13

    Action使用Servlet相关API 目录 Action使用Servlet相关API 解耦方式调用API(间接调用  了解) 耦合方式直接调用API 接口注入方式操作Servlet API(了解) ...

  3. Java网课基础笔记(9)19-07-21

    1.Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构.最初,是以WebWork框架和Struts框架为 ...

  4. Java网课基础笔记(25)19-08-07

    目录 Mybatis入门程序 Dao开发方法 原始Dao开发方式 Mapper动态代理方式 Mybatis入门程序 1.Mybatis下载地址:https://github.com/mybatis/m ...

  5. Java网课基础笔记(4)19-07-16

    1.接口:描述抽象的方法:只有方法的描述,没有方法的实现. 如果一个类实现了一个接口,必须覆盖这个接口中的所有方法. 2.多态:方法覆盖:方法重载. 3.子类对象的创建:先执行父类的方法,再执行子类的 ...

  6. Java网课笔记整理

    目录 1.继承 笔记 案例 2.多态 笔记 案例 3.抽象 笔记 案例 4.字符串 案例 5.StringBuilder 笔记 案例 6.集合基础 笔记 案例 1.继承 笔记 https://blog ...

  7. 尚硅谷李立超老师讲解web前端网课的笔记

    初学 web 前端笔记一 刚刚看完网课,趁着脑子里还有点东西,小彭赶紧来做个笔记~接下来看吧: 一.软件的分类 1.系统软件:(我们买电脑或手机第一件事就是先激活或者安装一个"灵魂" ...

  8. Java网课简易飞机大战

    因之前用unity做过飞机大战的小游戏,用的脚本是C#.现在上了几节网课,又用java做的简单功能的小游戏,再次记录一下.功能非常简单.鼠标控制飞机一定,子弹发射,敌机出现以及子弹和敌机的碰撞检测.爆 ...

  9. mysql李玉婷网课配套笔记(一) 基础查询、条件查询bilibili

    命令行:管理员身份运行cmd net start/stop mysql 启动和关闭 登录    mysql -h localhost -P 3306 -u root -p 查看数据库:show dat ...

最新文章

  1. 单目深度估计方法综述
  2. 阿里云“华北5”落地内蒙古,AI数据大战一触即发
  3. ubuntu更新rtl8192cu驱动
  4. nltk自然语言处理
  5. SQLServer导入Excel截断数据的解决办法
  6. mips汇编计算开方_清华考研辅导班-2020清华大学912计算机专业基础综合考研经验真题参考书目...
  7. 设计模式-原型模式(Prototype)
  8. python json解析方法_Python 中的 JSON 方式讲解
  9. 关于c++ pair自己遇到的一个问题?为何不一样?为何第一个程序不能返回pair内数组的值呢?(已经解决)
  10. JavaScript 经典实例日常收集整理(常用经典)
  11. 收集Linux常用命令
  12. mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
  13. Linux Rsync服务详解(一)——Rsync基本命令与使用
  14. LabVIEW相关工具包与模块安装
  15. 大数据项目流程(必须会)
  16. Linux 编译安装 openssl库
  17. 开发Awesomes系列合集
  18. 生成器(建造者)模式
  19. Lanenet 车道线检测网络模型学习(论文解读+官方模型)
  20. What's is new in MariaDB 10.0(MySQL创始人Monty演讲)

热门文章

  1. pulseaudio-webrtc-audio-processing的编译环境搭建
  2. 学会这些快准狠的Word技巧,你也能成为Word高手
  3. 如何申请GlobalSign SSL证书,需要什么条件?
  4. 3D三角形网格补洞算法及源码(转)
  5. 基于TPS(Thin Plate Spines)的STN网络的PyTorch实现
  6. 图搜索算法(一):图搜索的一般算法
  7. 集成高德sdk查看交通路况
  8. sht30使用心得自述
  9. mc33063,mc34063发热问题
  10. 2022-2028年全球与中国插座行业市场深度调研及投资预测分析