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 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
对象是生成的Servlet
的ServletContext
对象的直接包装,实际上是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.四大作用域
- page(pageContext):只在一个页面中保存属性。 跳转之后无效。
- request:只在一次请求中有效,服务器跳转之后有效。 客户端跳无效
- session:再一次会话中有效。服务器跳转、客户端跳转都有效。 网页关闭重新打开无效
- application:在整个服务器上保存,所有用户都可使用。 重启服务器后无效
Java网课基础笔记(7)19-07-19相关推荐
- Java网课基础笔记(20)19-08-02
为了更好的学习Springmvc和mybatis整合开发方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用Springmvc.持久层使用mybatis实现. 需求:实现商品 ...
- Java网课基础笔记(31)19-08-13
Action使用Servlet相关API 目录 Action使用Servlet相关API 解耦方式调用API(间接调用 了解) 耦合方式直接调用API 接口注入方式操作Servlet API(了解) ...
- Java网课基础笔记(9)19-07-21
1.Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构.最初,是以WebWork框架和Struts框架为 ...
- Java网课基础笔记(25)19-08-07
目录 Mybatis入门程序 Dao开发方法 原始Dao开发方式 Mapper动态代理方式 Mybatis入门程序 1.Mybatis下载地址:https://github.com/mybatis/m ...
- Java网课基础笔记(4)19-07-16
1.接口:描述抽象的方法:只有方法的描述,没有方法的实现. 如果一个类实现了一个接口,必须覆盖这个接口中的所有方法. 2.多态:方法覆盖:方法重载. 3.子类对象的创建:先执行父类的方法,再执行子类的 ...
- Java网课笔记整理
目录 1.继承 笔记 案例 2.多态 笔记 案例 3.抽象 笔记 案例 4.字符串 案例 5.StringBuilder 笔记 案例 6.集合基础 笔记 案例 1.继承 笔记 https://blog ...
- 尚硅谷李立超老师讲解web前端网课的笔记
初学 web 前端笔记一 刚刚看完网课,趁着脑子里还有点东西,小彭赶紧来做个笔记~接下来看吧: 一.软件的分类 1.系统软件:(我们买电脑或手机第一件事就是先激活或者安装一个"灵魂" ...
- Java网课简易飞机大战
因之前用unity做过飞机大战的小游戏,用的脚本是C#.现在上了几节网课,又用java做的简单功能的小游戏,再次记录一下.功能非常简单.鼠标控制飞机一定,子弹发射,敌机出现以及子弹和敌机的碰撞检测.爆 ...
- mysql李玉婷网课配套笔记(一) 基础查询、条件查询bilibili
命令行:管理员身份运行cmd net start/stop mysql 启动和关闭 登录 mysql -h localhost -P 3306 -u root -p 查看数据库:show dat ...
最新文章
- 单目深度估计方法综述
- 阿里云“华北5”落地内蒙古,AI数据大战一触即发
- ubuntu更新rtl8192cu驱动
- nltk自然语言处理
- SQLServer导入Excel截断数据的解决办法
- mips汇编计算开方_清华考研辅导班-2020清华大学912计算机专业基础综合考研经验真题参考书目...
- 设计模式-原型模式(Prototype)
- python json解析方法_Python 中的 JSON 方式讲解
- 关于c++ pair自己遇到的一个问题?为何不一样?为何第一个程序不能返回pair内数组的值呢?(已经解决)
- JavaScript 经典实例日常收集整理(常用经典)
- 收集Linux常用命令
- mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
- Linux Rsync服务详解(一)——Rsync基本命令与使用
- LabVIEW相关工具包与模块安装
- 大数据项目流程(必须会)
- Linux 编译安装 openssl库
- 开发Awesomes系列合集
- 生成器(建造者)模式
- Lanenet 车道线检测网络模型学习(论文解读+官方模型)
- What's is new in MariaDB 10.0(MySQL创始人Monty演讲)