当前位置: 首页 > 编程日记 > 正文

JSP学习笔记(五):日期处理、页面重定向、点击量统计、自动刷新和发送邮件...

一、JSP 日期处理:

  使用JSP最重要的优势之一,就是可以使用所有Java  API。本节讲述Java中的Date类,它在java.util包下,封装了当前日期和时间。

  Date类有两个构造函数。第一个构造函数使用当前日期和时间来初始化对象:Date( )

  第二个构造函数接受一个参数,这个参数表示从1970年1月1日凌晨至所要表示时间的毫秒数:Date(long millisec)

  获取Date对象后,可使用下列方法:

boolean after(Date date):如果比给定的日期晚,则返回true,否则返回false

boolean before(Date date):如果比给定的日期早,则返回true,否则返回false

Object clone( ):获取当前对象的一个副本

boolean equals(Object date):如果与给定日期相同,则返回true,否则返回false

long getTime( ):返回从1970年1月1日凌晨至此对象所表示时间的毫秒数

int hashCode( ):返回此对象的哈希码

void setTime(long time):使用给定参数设置时间和日期,参数time表示从1970年1月1日凌晨至time所经过的毫秒数

String toString( ):将此对象转换为字符串并返回这个字符串

int compareTo(Date date):如果与给定日期相等,则返回0,如果比给定日期早,则返回一个负数,如果比给定日期晚,则返回一个正数

int compareTo(Object obj):与 compareTo(Date) 方法相同,如果 obj 不是Date类或其子类的对象,抛出ClassCastException异常

1、获取当前日期和时间

  使用JSP编程可以很容易的获取当前日期和时间,只要使用Date对象的toString()方法就行了,就像下面这样:

<body>
<h1>显示当前时间与日期</h1>
<%Date date = new Date();out.print( "<h2 align=\"center\">" +date.toString()+"</h2>");
%>
</body>

  将上面的代码保存在 main.jsp 文件中,然后访问 http://localhost:8080/testjsp/main.jsp,刷新,就可以发现每次刷新所得到的秒数都不相同。

2、日期比较

  您可以在JSP脚本中使用任何Java方法。如果您想要比较两个日期,可以参照下面的方法来做:

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

3、使用SimpleDateFormat格式化日期

  SimpleDateFormat使用一种地区敏感的方式来格式化和解析日期,它允许您使用自定义的模式来格式化日期和时间。

  对之前日期jsp文件稍作修改,得到如下修改后的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="javax.servlet.*,java.text.*" %>
<html>
<head>
<title>显示当前时间与日期</title>
</head>
<body>
<h1>显示当前时间与日期</h1>
<%Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>

 二、JSP 页面重定向:

  当需要将文档移动到一个新的位置时,就需要使用JSP重定向了。最简单的重定向方式就是使用response对象的sendRedirect()方法。这个方法的签名如下:

public void response.sendRedirect(String location) throws IOException 

  这个方法将状态码和新的页面位置作为响应发回给浏览器。您也可以使用setStatus()和setHeader()方法来得到同样的效果:

....
String site = "http://www.baidu.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site); 
....

  实例演示JSP如何进行页面重定向:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>页面重定向</title>
</head>
<body>
<h1>页面重定向</h1>
<%// 重定向到新地址String site = new String("http://www.baidu.com");response.setStatus(response.SC_MOVED_TEMPORARILY);response.setHeader("Location", site); 
%>
</body>
</html>

  将以上代码保存在PageRedirecting.jsp文件中,然后访问http://localhost:8080/PageRedirect.jsp,它将会把您带至百度。

三、JSP 点击量统计:

  有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上。

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

  这个对象表示JSP页面的整个生命周期中。当JSP页面初始化时创建此对象,当JSP页面调用jspDestroy()时删除该对象。

  以下是在应用中创建变量的语法:

application.setAttribute(String Key, Object Value);

  您可以使用上述方法来设置一个计数器变量及更新该变量的值。读取该变量的方法如下:

application.getAttribute(String Key);

  在页面每次被访问时,你可以读取计数器的当前值,并递增1,然后重新设置,在下一个用户访问时就将新的值显示在页面上。

1、实例演示:

  如何使用JSP来计算特定页面访问的总人数。如果你要计算你网站使用页面的总点击量,那么你就必须将该代码放在所有的JSP页面上。

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>访问量统计</title>
</head>
<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>
</html>

  现在我们将上面的代码放置于main.jsp文件上,并访问http://localhost:8080/testjsp/main.jsp文件。你会看到页面会生成个计数器,在我们每次刷新页面时,计数器都会发生变化(每次刷新增加1)。你也可以通过不同的浏览器访问,计数器会在每次访问后增加1。

2、复位计数器

  使用以上方法,在 web 服务器重启后,计数器会被复位为 0,即前面保留的数据都会消失,你可以使用以下几种方式解决该问题:

  • 在数据库中定义一个用于统计网页访问量的数据表 count,字段为 hitcount,hitcount 默认值为0,将统计数据写入到数据表中。
  • 在每次访问时我们读取表中 hitcount 字段。
  • 每次访问时让 hitcount 自增 1。
  • 在页面上显示新的 hitcount 值作为页面的访问量。
  • 如果你需要统计每个页面的访问量,你可以使用以上逻辑将代码添加到所有页面上。

四、JSP 自动刷新:

  想象一下,如果要直播比赛的比分,或股票市场的实时状态,或当前的外汇配给,该怎么实现呢?显然,要实现这种实时功能,您就不得不规律性地刷新页面。

  JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。

  刷新一个页面最简单的方式就是使用response对象的setIntHeader()方法:这个方法通知浏览器在给定的时间后刷新,时间以秒为单位。这个方法的签名如下:

public void setIntHeader(String header, int headerValue)

  页面自动刷新程序示例:使用了setIntHeader()方法来设置刷新头,模拟一个数字时钟:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>自动刷新实例</title>
</head>
<body>
<h2>自动刷新实例</h2>
<%// 设置每隔5秒刷新一次response.setIntHeader("Refresh", 5);// 获取当前时间Calendar calendar = new GregorianCalendar();String am_pm;int hour = calendar.get(Calendar.HOUR);int minute = calendar.get(Calendar.MINUTE);int second = calendar.get(Calendar.SECOND);if(calendar.get(Calendar.AM_PM) == 0)am_pm = "AM";elseam_pm = "PM";String CT = hour+":"+ minute +":"+ second +" "+ am_pm;out.println("当前时间为: " + CT + "\n");
%>
</body>
</html>

  把以上代码保存在main.jsp文件中,访问它。它会每隔5秒钟刷新一次页面并获取系统当前时间。

五、JSP 发送邮件:

  虽然使用JSP实现邮件发送功能很简单,但是需要有JavaMail API,并且需要安装JavaBean Activation Framework。

  • 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。
  • 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。

  你也可以使用本站提供的下载链接:

  • JavaMail mail.jar 1.4.5
  • JAF(版本 1.1.1) activation.jar

  下载并解压这些文件,在根目录下,您将会看到一系列jar包。将mail.jar包和activation.jar包加入CLASSPATH变量中。

1、发送一封简单的邮件

  这个例子展示了如何从您的机器发送一封简单的邮件。它假定localhost已经连接至网络并且有能力发送一封邮件。与此同时,请再一次确认mail.jar包和activation.jar包已经添加进CLASSPATH变量中。

<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%String result;// 收件人的电子邮件String to = "abcd@gmail.com";// 发件人的电子邮件String from = "mcmohd@gmail.com";// 假设你是从本地主机发送电子邮件String host = "localhost";// 获取系统属性对象Properties properties = System.getProperties();// 设置邮件服务器properties.setProperty("mail.smtp.host", host);// 获取默认的Session对象。Session mailSession = Session.getDefaultInstance(properties);try{// 创建一个默认的MimeMessage对象。MimeMessage message = new MimeMessage(mailSession);// 设置 From: 头部的header字段message.setFrom(new InternetAddress(from));// 设置 To: 头部的header字段
      message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// 设置 Subject: header字段message.setSubject("This is the Subject Line!");// 现在设置的实际消息message.setText("This is actual message");// 发送消息
      Transport.send(message);result = "Sent message successfully....";}catch (MessagingException mex) {mex.printStackTrace();result = "Error: unable to send message....";}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align="center">
<% out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>

  如果想要把邮件发送给多人,下面列出的方法可以用来指明多个邮箱地址:

void addRecipients(Message.RecipientType type, Address[] addresses)
throws MessagingException

  参数的描述如下:

  • type:这个值将会被设置成TO,CC,或BCC。CC代表副本,BCC代表黑色副本,例子程序中使用的是TO。
  • addresses:这是一个邮箱地址的数组,当指定邮箱地址时需要使用InternetAddress()方法。

2、发送一封HTML邮件

  这个例子发送一封简单的HTML邮件。它假定您的localhost已经连接至网络并且有能力发送邮件。与此同时,请再一次确认mail.jar包和activation.jar包已经添加进CLASSPATH变量中。这个例子和前一个例子非常相似,不过在这个例子中我们使用了setContent()方法,将"text/html"做为第二个参数传给它,用来表明消息中包含了HTML内容。

<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%String result;// 收件人的电子邮件String to = "abcd@gmail.com";// 发件人的电子邮件String from = "mcmohd@gmail.com";// 假设你是从本地主机发送电子邮件String host = "localhost";// 获取系统属性对象Properties properties = System.getProperties();// 设置邮件服务器properties.setProperty("mail.smtp.host", host);// 获取默认的Session对象。Session mailSession = Session.getDefaultInstance(properties);try{// 创建一个默认的MimeMessage对象。MimeMessage message = new MimeMessage(mailSession);// 设置 From: 头部的header字段message.setFrom(new InternetAddress(from));// 设置 To: 头部的header字段
      message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// 设置 Subject: header字段message.setSubject("This is the Subject Line!");// 设置 HTML消息message.setContent("<h1>This is actual message</h1>","text/html" );// 发送消息
      Transport.send(message);result = "Sent message successfully....";}catch (MessagingException mex) {mex.printStackTrace();result = "Error: unable to send message....";}
%>
<html>
<head>
<title>Send HTML Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align="center">
<% out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>

3、在邮件中包含附件

  这个例子告诉我们如何发送一封包含附件的邮件。

<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%String result;// 收件人的电子邮件String to = "abcd@gmail.com";// 发件人的电子邮件String from = "mcmohd@gmail.com";// 假设你是从本地主机发送电子邮件String host = "localhost";// 获取系统属性对象Properties properties = System.getProperties();// 设置邮件服务器properties.setProperty("mail.smtp.host", host);// 获取默认的Session对象。Session mailSession = Session.getDefaultInstance(properties);try{// 创建一个默认的MimeMessage对象。MimeMessage message = new MimeMessage(mailSession);// 设置 From: 头部的header字段message.setFrom(new InternetAddress(from));// 设置 To: 头部的header字段
      message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));// 设置 Subject: header字段message.setSubject("This is the Subject Line!");// 创建消息部分BodyPart messageBodyPart = new MimeBodyPart();// 填充消息messageBodyPart.setText("This is message body");// 创建多媒体消息Multipart multipart = new MimeMultipart();// 设置文本消息部分
      multipart.addBodyPart(messageBodyPart);// 附件部分messageBodyPart = new MimeBodyPart();String filename = "file.txt";DataSource source = new FileDataSource(filename);messageBodyPart.setDataHandler(new DataHandler(source));messageBodyPart.setFileName(filename);multipart.addBodyPart(messageBodyPart);// 发送完整消息
      message.setContent(multipart );// 发送消息
      Transport.send(message);String title = "Send Email";result = "Sent message successfully....";}catch (MessagingException mex) {mex.printStackTrace();result = "Error: unable to send message....";}
%>
<html>
<head>
<title>Send Attachement Email using JSP</title>
</head>
<body>
<center>
<h1>Send Attachement Email using JSP</h1>
</center>
<p align="center">
<% out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>

4、用户认证部分

  如果邮件服务器需要用户名和密码来进行用户认证的话,可以像下面这样来设置:

props.setProperty("mail.user", "myuser");
props.setProperty("mail.password", "mypwd");

5、使用表单发送邮件

  使用HTML表单接收一封邮件,并通过request对象获取所有邮件信息:

String to = request.getParameter("to");
String from = request.getParameter("from");
String subject = request.getParameter("subject");
String messageText = request.getParameter("body");

  获取以上信息后,您就可以使用前面提到的例子来发送邮件了。

转载于:https://www.cnblogs.com/goloving/p/7469399.html

相关文章:

完善登录注册页面

实验内容 综合运用基本组件完成一个注册与登录的应用程序设计。要求基于基础控件&#xff0c;综合使用Intent实现Android的Activity之间信息交换。系统包含启动页、注册页、登录页3个页面&#xff0c;具体要求如下&#xff1a; 在第2周上机作业的基础上&#xff0c;完善登录注…

EF 批量 添加 修改 删除

1批量添加 db.T_Investigator.AddRange(list) 2批量删除 db.T_Investigator.RemoveRange(list) 3批量修改 for 循环修改。 注意&#xff1a; 先查询出来&#xff0c;最后savechange&#xff08;&#xff09;&#xff0c;写在一个事务中&#xff0c;一次请求一个上下文。…

在IE7中无效的解决办法

通过ShowModalDialog 打开页面,在POSTBACK时,打开新的页面&#xff0c; 在IE6下没问题,只有在IE7下,会重新打开一新页面&#xff0c; 其实只要把<base target"_self"/> 放到 <head>下即可。 <head> <base target"_self"/> …

简单的纹理管理器

简单的纹理管理器 罗朝辉 (http://www.cnblogs.com/kesalin/)本文遵循“署名-非商业用途-保持一致”创作公用协议游戏中的资源一般都是由资源管理器来处理的&#xff0c;资源管理器负责载入&#xff0c;释放&#xff0c;以及根据资源ID返回相关资源供游戏程序使用。下面改写sph…

记住密码以及Android 列表的操作

1.综合使用RecycleView&#xff0c;CardView&#xff0c;Adapter实现一个宝宝相册&#xff0c;并将其加入到实验一形成的应用中&#xff0c;使得&#xff1a;用户成功登录后转到宝宝相册所在的主界面。还要求实现&#xff1a;用户单击对应的列表子项的不同部位时给出不同的Toas…

python-----利用filecmp删除重复文件

以下代码素材自取&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1fL17RjKyGjpvpeeUFONCaQ 提取码&#xff1a;zgiw # coding:utf-8 import os import filecmp# 将指定目录下的所有文件的路径存储到all_files变量中 def get_all_files(path, dirs):all_files []for d …

如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入

代码如下&#xff1a;具体说明参见红色说明(本例子是从订单明细提取两个字段的数据到内表) REPORT ZALV_EDIT.TYPE-POOLS: SLIS.*- FieldcatalogDATA: IT_FIELDCAT TYPE LVC_T_FCAT.DATA: X_FIELDCAT TYPE LVC_S_FCAT.DATA: X_LAYOUT TYPE LVC_S_LAYO. "第1步&#xff1a;…

记一次生产的bug

第一个在代码中使用 new SimpleDateFormat("EEEE")来判断周几。在本地测试过程中通过日志打印出来的周几 比如周日对应的是中文汉字“星期日”&#xff0c;然后使用判断 if("星期日".equals(weekDay)){ } (其中weekDay是要使用的日期)。在本地测试通过后…

企业ERP制度的“执行力”

一直都很想说这个话题。可能很多人不是太理解这个标题&#xff0c;企业ERP制度是指完成了ERP系统实施的企业&#xff0c;为了维持ERP系统的持续运行而建立的ERP运行制度。执行力就不用多说了&#xff0c;就是ERP运行制度到底执行了多少&#xff0c;怎么执行的问题。许多管理软件…

python学习点滴记录-Day10-线程

多线程 协程 io模型 并发编程需要掌握的点&#xff1a; 1 生产者消费者模型2 进程池线程池3 回调函数4 GIL全局解释器锁 线程 理论部分 &#xff08;摘自egon老师博客&#xff09; 一、定义&#xff1a; 在传统操作系统中&#xff0c;每个进程有一个地址空间&#xff0c;而且默…

适配设备的简易新闻浏览器

同时兼容手机和平板。 进入应用后先显示新闻列表&#xff0c;当在手机上使用时&#xff0c;使用单页模式&#xff0c;单击列表项会打开新的页面。 当在平板上使用时&#xff0c;使用双页模式&#xff0c;单击左侧列表项时直接更新右侧新闻内容页。 MainActivity.java pack…

this.$router.push、replace、go的区别

1.this.$router.push() 描述&#xff1a;跳转到不同的url&#xff0c;但这个方法会向history栈添加一个记录&#xff0c;点击后退会返回到上一个页面。 用法&#xff1a; 2.this.$router.replace() 描述&#xff1a;同样是跳转到指定的url&#xff0c;但是这个方法不会向histor…

jQuery 实现图片的特效1[原]

用jQuery实现图片的动画效果非常简单.以下演示 jQuery里面所用到的参数 HIDE SHOW FADEOUT FADEIN 的不同. 在线演示:单击演示 代码分析: //hide and show fadeout and fadein $("input:eq(0)").click(function(){ $("img").fadeOut(3000); }); …

【设计模式】 模式PK:策略模式VS状态模式

1、概述 行为类设计模式中&#xff0c;状态模式和策略模式是亲兄弟&#xff0c;两者非常相似&#xff0c;我们先看看两者的通用类图&#xff0c;把两者放在一起比较一下。 策略模式&#xff08;左&#xff09;和状态模式&#xff08;右&#xff09;的通用类图。 两个类图非常相…

vs2008与IIS 7.0使用在vista上时出现的问题及解决方法(Internet Explorer 无法显示该页面)(VS2008: IE Cannot Display Web Page)...

我的系统是Vista Ultimate SP1,先安装了vs2008 ,然后再安装了IIS7.0之后就出现了一系列的问题。 问题&#xff1a;通过vs2008启动程序调试时报错。错误提示为&#xff1a;Internet Explorer 无法显示该页面 解决方法&#xff1a; 首先是安装一些必要的附件程序。 1.打开控制面板…

云服务中IaaS、PaaS、SaaS的区别

越来越多的软件&#xff0c;开始采用云服务。 云服务只是一个统称&#xff0c;可以分成三大类。 IaaS&#xff1a;基础设施服务&#xff0c;Infrastructure-as-a-servicePaaS&#xff1a;平台服务&#xff0c;Platform-as-a-serviceSaaS&#xff1a;软件服务&#xff0c;Softwa…

Android项目框架综合实例

综合使用ViewPager、Fragment、RecycleView等&#xff0c;实现类似“网易新闻浏览器 ”的项目综合框架&#xff0c;要求实现&#xff1a; 底部导航&#xff0c;分别是“首页”&#xff0c;“视频”&#xff0c;“讲讲”&#xff0c;“我的”&#xff1b;底部导航不要求滑动翻页…

配置Windows Server 2003 的RADIUS Server的方法

配置Windows Server 2003 的RADIUS Server的方法1、安装Windows 2003操作系统&#xff1b;2、添加角色&#xff08;须插网线&#xff09;&#xff1b;3、添加组件->网络服务、证书服务&#xff1b;4、管理工具->域安全策略->帐户策略->密码策略&#xff1b;&#x…

Y15BeTa蜂鸣器唱歌程序-演奏版

最优版&#xff0c;自由演奏你的音乐&#xff01; 每天进步一点点&#xff01; 2018-12-09最新版 #include<bits/stdc.h> #include<windows.h> using namespace std; int md[8]{0,262,294,330,349,392,440,494}, mz[8]{0,523,587,659,698,784,880,988}, mg[8]{0,10…

实验6 触发器的使用

实验6 触发器的使用 实验目的 掌握触发器的创建、修改和删除操作。 掌握触发器的触发执行。 掌握触发器与约束的不同。二、实验要求 1.创建触发器。 2.触发器执行触发器。 3.验证约束与触发器的不同作用期。 4.删除新创建的触发器。 三、实验内容 &#xff08;一&#x…

神经网络二(Neural Network)

#!/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ __author__ wlc __mtime__ 2017/9/04 """ import numpy as np import randomclass Network(object):def __init__(self,sizes):#size神经元个数list[3,2,4]self.num_layers l…

要想成功 需要了解的东西

凭我工作的经历来看 在it界要想成功必须要做到以下几点。 1 基本的开发语言不一定精通&#xff0c;但是一定要熟练的使用。 2 对公的主营业务一定要熟悉&#xff0c;不但要熟悉&#xff0c;而且要烂熟于心。如果不能做到这一点&#xff0c;那么起码对自己负责的工作要做到烂熟…

合并下载的Solaris镜像为DVD文件的方法

有很多朋友想安装solaris10操作系统&#xff0c;但是没有系统盘或者在官方网站下载之后不会合成。经过多次试验之后现在把正确的方法写下&#xff0c;以方便大家的学习之用。1。先到官方网站下载最新的系统包&#xff0c;下载之后的软件包为&#xff1a;sol-10-u4-ga-x86-dvd-i…

oracle测试环境表空间清理

测试场景下&#xff0c;使用的oralce遇到表空间的占用超大&#xff0c;可以采用如下的方式进行空间的清理 首先使用sqlplus连接数据库sqlplus sys/passwordorcl as sysdba 之类进行数据库的连接没然后进行如下的操作 ##创建表空间对于自己的测试库和表等最好都建立自己的表空间…

Google Chrome(谷歌浏览器) 发布下载

Google Chrome 下载地址&#xff1a;http://www.google.com/chrome 刚刚装上&#xff0c;还没怎么用&#xff0c;说一下大概印象&#xff0c;整体非常简洁&#xff0c;只有两个菜单选项。访问上明显感觉很快&#xff0c;比 Firefox 快&#xff0c;也比 IE7快&#xff1b;对网页…

实验 5   数据的完整性管理

实验 5 数据的完整性管理 一、实验目的 掌握实体完整性的实现方法。掌握用户定义完整性的实现方法。掌握参照完整性的方法。二、实验内容 数据库的完整性设置。三、实验步骤 可视化界面的操作方法&#xff1a;实体完整性 将 student 表的“sno”字段设为主键&#xff1a;在表…

16-acrobat por 简单使用指南

用于pdf编辑&#xff0c;这里我主要讲下图片的切割和保存&#xff0c;以及合并&#xff1a; 切割选中区域双击 合并的话&#xff0c;在编辑界面选中对象&#xff0c;复制&#xff0c;在另一个pdf的编辑界面粘贴&#xff0c;并挪动位置&#xff1a; 转载于:https://www.cnblogs.…

可突破任意ARP防火墙,以限制流量为目标的简单网络管理软件

以下消息来自幻影论坛[Ph4nt0m]邮件组软件说明&#xff1a;可突破任意ARP防火墙&#xff0c;以限制流量为目标的简单网络管理软件。使用方法&#xff1a;1.在参数设置中选择好工作网卡&#xff1b;2.检查网关信息和本机信息是否正确&#xff0c;如果不正确&#xff0c;请手动输…

OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...

函数中的代码是部分代码&#xff0c;详细代码在最后 1 cv2.boundingRect 作用&#xff1a;矩形边框&#xff08;boundingRect&#xff09;&#xff0c;用于计算图像一系列点的外部矩形边界。 cv2.boundingRect(array) -> retval 参数&#xff1a; array - 灰度图像&#xff…

实验1 应用SQL Server进行数据定义和管理

实验1 应用SQL Server进行数据定义和管理 【实验目的】 1&#xff09;熟悉SQL Server的配置和管理。 2&#xff09;掌握数据库的定义和修改方法。 3&#xff09;掌握表的定义和修改方法。 4&#xff09;掌握使用SQL语句进行数据管理的方法。 【实验环境】 SQL Server 20…