2019独角兽企业重金招聘Python工程师标准>>>

案例-jsp+DAO实现留言管理程序
----------------Note.java------------------------

package org.sky.darkness.note.vo ;public class Note {private int id ;private String title ;private String author ;private String content ;public void setId(int id) {this.id = id ;}public void setTitle(String title) {this.title = title ;}public void setAuthor(String author) {this.author = author ;}public void setContent(String content) {this.content = content ;}public int getId() {return this.id ;}public String getTitle() {return this.title ;}public String getAuthor() {return this.author ;}public String getContent() {return this.content ;}
};

----------------------Person.java--------------------------

package org.sky.darkness.note.vo ;public class Person
{private String id ;private String name ;private String password ;public void setId(String id) {this.id = id ;}public void setName(String name) {this.name = name ;}public void setPassword(String password) {this.password = password ;}public String getId() {return this.id ;}public String getName() {return this.name ;}public String getPassword() {return this.password ;}
};

----------------NoteDAO.java-------------

package org.sky.darkness.note.dao ;import java.util.* ;
import org.sky.darkness.note.vo.* ;public interface NoteDAO
{// 增加操作public void insert(Note note) throws Exception ;// 修改操作public void update(Note note) throws Exception ;// 删除操作public void delete(int id) throws Exception ;// 按ID查询,主要为更新使用public Note queryById(int id) throws Exception ;// 查询全部public List queryAll() throws Exception ;// 模糊查询public List queryByLike(String cond) throws Exception ;
};

----------------------------PersonDAO.java-----------------------------------

package org.sky.darkness.note.dao ;import org.sky.darkness.note.vo.* ;public interface PersonDAO {// 做登陆验证public boolean login(Person person) throws Exception ;
};
---------------- PersonDAOImpl.java--------------
package org.sky.darkness.note.dao.impl ;import java.sql.* ;
import org.sky.darkness.note.vo.* ;
import org.sky.darkness.note.dbc.* ;
import org.sky.darkness.note.dao.* ;public class PersonDAOImpl implements PersonDAO
{/*功能:• 判断是否是正确的用户名或密码• 从数据库中取出用户的真实姓名*/public boolean login(Person person) throws Exception {boolean flag = false ;String sql = "SELECT name FROM person WHERE id=? and password=?" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,person.getId()) ;pstmt.setString(2,person.getPassword()) ;ResultSet rs = pstmt.executeQuery() ;if (rs.next()) {flag = true ;person.setName(rs.getString(1)) ;}rs.close() ;pstmt.close() ;} catch (Exception e) {throw new Exception("操作出现错误!!!") ;} finally {dbc.close() ;}return flag ;}
};

------------- NoteDAOImpl.java-------------------------------------

package org.sky.darkness.note.dao.impl ;import java.sql.* ;
import java.util.* ;
import org.sky.darkness.note.vo.* ;
import org.sky.darkness.note.dao.* ;
import org.sky.darkness.note.dbc.* ;public class NoteDAOImpl implements NoteDAO {// 增加操作public void insert(Note note) throws Exception {String sql = "INSERT INTO note(id,title,author,content) VALUES(note_sequ.nextVal,?,?,?)" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,note.getTitle()) ;pstmt.setString(2,note.getAuthor()) ;pstmt.setString(3,note.getContent()) ;pstmt.executeUpdate() ;pstmt.close() ;} catch (Exception e) {// System.out.println(e) ;throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}}// 修改操作public void update(Note note) throws Exception {String sql = "UPDATE note SET title=?,author=?,content=? WHERE id=?" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,note.getTitle()) ;pstmt.setString(2,note.getAuthor()) ;pstmt.setString(3,note.getContent()) ;pstmt.setInt(4,note.getId()) ;pstmt.executeUpdate() ;pstmt.close() ;} catch (Exception e) {throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}}// 删除操作public void delete(int id) throws Exception {String sql = "DELETE FROM note WHERE id=?" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setInt(1,id) ;pstmt.executeUpdate() ;pstmt.close() ;} catch (Exception e) {throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}}// 按ID查询,主要为更新使用public Note queryById(int id) throws Exception {Note note = null ;String sql = "SELECT id,title,author,content FROM note WHERE id=?" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setInt(1,id) ;ResultSet rs = pstmt.executeQuery() ;if(rs.next()) {note = new Note() ;note.setId(rs.getInt(1)) ;note.setTitle(rs.getString(2)) ;note.setAuthor(rs.getString(3)) ;note.setContent(rs.getString(4)) ;}rs.close() ;pstmt.close() ;} catch (Exception e) {throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}return note ;}// 查询全部public List queryAll() throws Exception {List all = new ArrayList() ;String sql = "SELECT id,title,author,content FROM note" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;ResultSet rs = pstmt.executeQuery() ;while(rs.next()) {Note note = new Note() ;note.setId(rs.getInt(1)) ;note.setTitle(rs.getString(2)) ;note.setAuthor(rs.getString(3)) ;note.setContent(rs.getString(4)) ;all.add(note) ;}rs.close() ;pstmt.close() ;} catch (Exception e) {System.out.println(e) ;throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}return all ;}// 模糊查询public List queryByLike(String cond) throws Exception {List all = new ArrayList() ;String sql = "SELECT id,title,author,content FROM note WHERE title LIKE ? or AUTHOR LIKE ? or CONTENT LIKE ?" ;PreparedStatement pstmt = null ;DataBaseConnection dbc = null ;dbc = new DataBaseConnection() ;try {pstmt = dbc.getConnection().prepareStatement(sql) ;pstmt.setString(1,"%"+cond+"%") ;pstmt.setString(2,"%"+cond+"%") ;pstmt.setString(3,"%"+cond+"%") ;ResultSet rs = pstmt.executeQuery() ;while(rs.next()) {Note note = new Note() ;note.setId(rs.getInt(1)) ;note.setTitle(rs.getString(2)) ;note.setAuthor(rs.getString(3)) ;note.setContent(rs.getString(4)) ;all.add(note) ;}rs.close() ;pstmt.close() ;} catch (Exception e) {System.out.println(e) ;throw new Exception("操作中出现错误!!!") ;} finally {dbc.close() ;}return all ;}
};

----------- DAOFactory .java------------------------------------------------

package org.sky.darkness.note.factory ;import org.sky.darkness.note.dao.* ;
import org.sky.darkness.note.dao.impl.* ;public class DAOFactory {public static PersonDAO getPersonDAOInstance() {return new PersonDAOImpl() ;}public static NoteDAO getNoteDAOInstance() {return new NoteDAOImpl() ;}
};

----------- DataBaseConnection .java-----------------------------------------------

package org.sky.darkness.note.dbc ;import java.sql.* ;public class DataBaseConnection {private String DBDRIVER          = "oracle.jdbc.driver.OracleDriver" ;private String DBURL            = "jdbc:oracle:thin:@localhost:1521:sky" ;private String DBUSER         = "scott" ;private String DBPASSWORD     = "darkness" ;private Connection conn            = null ;public DataBaseConnection() {try {Class.forName(DBDRIVER) ;this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;} catch (Exception e) {}}public Connection getConnection() {return this.conn ;}public void close() {try {this.conn.close() ;}catch (Exception e) {}}
};

------------脚本.sql-------------------------------------------------

-- 创建表
-- 用户表(登陆)、留言表-- 删除表
DROP TABLE person ;
DROP TABLE note ;-- 删除序列
DROP SEQUENCE note_sequ ;-- 创建序列
CREATE SEQUENCE note_sequ ;-- 创建person表
CREATE TABLE person
(id varchar(20) not null primary key ,name varchar(20) ,password varchar(20)
) ;-- 创建留言表
CREATE TABLE note
(id int not null primary key , -- sequencetitle varchar(20) not null ,author varchar(20) not null ,content varchar(50) not null
) ;-- 插入测试数据
INSERT INTO person VALUES ('darkness','wind','zzzzzz') ;
INSERT INTO person VALUES ('sky','cloud','mmmmmm') ;-- 事务提交
commit ;
-------------------------login.jsp--------------------------------------------<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%// 判断是否有错误信息,如果有则打印// 如果没有此段代码,则显示时会直接打印nullif(request.getAttribute("err")!=null){%><h2><%=request.getAttribute("err")%></h2><%}%><form action="login_conf.jsp" method="post"><table width="80%"><tr><td colspan="2">用户登陆</td></tr><tr><td>用户名:</td><td><input type="text" name="id"></td></tr><tr><td>密&nbsp;&nbsp;码:</td><td><input type="password" name="password"></td></tr><tr><td colspan="2"><input type="submit" value="登陆"><input type="reset" value="重置"></td></tr></table></form>
</center>
</body>
</html>
--------------------------- login_conf.jsp------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><jsp:useBean id="person" scope="page" class="org.sky.darkness.note.vo.Person"/><jsp:setProperty name="person" property="*"/><%try{// 跳转if(DAOFactory.getPersonDAOInstance().login(person)){// 设置用户姓名到session范围之中session.setAttribute("uname",person.getName()) ;// 用户合法%><jsp:forward page="login_success.jsp"/><%}else{// 用户非法%><jsp:forward page="login.jsp"/><%}}catch(Exception e){}%>
</center>
</body>
</html>
------------------login_success.jsp------------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%if(session.getAttribute("uname")!=null){// 用户已登陆%><h2>登陆成功</h2><h2>欢迎<font color="red" size="12"><%=session.getAttribute("uname")%></font>光临留言程序</h2><h3><a href="list_notes.jsp">进入留言管理页面</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
------------------------insert.jsp------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%if(session.getAttribute("uname")!=null){// 用户已登陆%><form action="insert_do.jsp" method="post"><table><tr><td colspan="2">添加新留言</td></tr><tr><td>标题:</td><td><input type="text" name="title"></td></tr><tr><td>作者:</td><td><input type="text" name="author"></td></tr><tr><td>内容:</td><td><textarea name="content" cols="30" rows="6"></textarea></td></tr><tr><td colspan="2"><input type="submit" value="添加"><input type="reset" value="重置"></td></tr></table></form><h3><a href="list_notes.jsp">回到留言列表页</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
--------------------insert_do.jsp---------------------------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%// 进行乱码处理request.setCharacterEncoding("GB2312") ;%><%if(session.getAttribute("uname")!=null){// 用户已登陆%><jsp:useBean id="note" scope="page" class="org.sky.darkrness.note.vo.Note"/><jsp:setProperty name="note" property="*"/><%response.setHeader("refresh","2;URL=list_notes.jsp") ;try{DAOFactory.getNoteDAOInstance().insert(note) ;%>留言添加成功,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}catch(Exception e){%>留言添加失败,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
-------------------update.jsp-------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<%@ page import="org.sky.darkness.note.vo.*"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%// 进行乱码处理request.setCharacterEncoding("GB2312") ;%><%if(session.getAttribute("uname")!=null){// 用户已登陆%>     <%// 接收参数int id = 0 ;try{id = Integer.parseInt(request.getParameter("id")) ;}catch(Exception e){}%><%Note note = null ;try{note = DAOFactory.getNoteDAOInstance().queryById(id) ;}catch(Exception e){}%><%if(note!=null){id = note.getId() ;String title = note.getTitle() ;String author = note.getAuthor() ;String content = note.getContent() ;%><form action="update_do.jsp" method="post"><table><tr><td colspan="2">添加新留言</td></tr><tr><td>标题:</td><td><input type="text" name="title" value="<%=title%>"></td></tr><tr><td>作者:</td><td><input type="text" name="author" value="<%=author%>"></td></tr><tr><td>内容:</td><td><textarea name="content" cols="30" rows="6"><%=content%></textarea></td></tr><tr><td colspan="2"><input type="hidden" name="id" value="<%=id%>"><input type="submit" value="更新"><input type="reset" value="重置"></td></tr></table></form><%}else{%>没有发现,要更新的内容!!<br>请确认要更新的留言是否存在!!<br><%}%><h3><a href="list_notes.jsp">回到留言列表页</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
-----------------------------update_do.jsp--------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%// 进行乱码处理request.setCharacterEncoding("GB2312") ;%><jsp:useBean id="note" scope="page" class="org.sky.darkness.note.vo.Note"/><jsp:setProperty name="note" property="*"/><%if(session.getAttribute("uname")!=null){// 用户已登陆%><%response.setHeader("refresh","2;URL=list_notes.jsp") ;try{DAOFactory.getNoteDAOInstance().update(note) ;%>留言修改成功,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}catch(Exception e){%>留言修改失败,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
-------------------------list_notes.jsp--------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<%@ page import="org.sky.darkness.note.vo.*"%>
<html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%// 编码转换request.setCharacterEncoding("GB2312") ;if(session.getAttribute("uname")!=null){// 用户已登陆%><%// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示int i = 0 ;String sql = null; String keyword = request.getParameter("keyword") ;List all = null ;try{if(keyword==null){all = DAOFactory.getNoteDAOInstance().queryAll() ;}else{// 有查询条件all = DAOFactory.getNoteDAOInstance().queryByLike(keyword) ;}}catch(Exception e){System.out.println(e) ;}%>
<form action="list_notes.jsp" method="POST">请输入查询内容:<input type="text" name="keyword"><input type="submit" value="查询">
</form>
</h3><a href="insert.jsp">添加新留言</a></h3>
<table width="80%" border="1"><tr><td>留言ID</td><td>标题</td><td>作者</td><td>内容</td><td>删除</td></tr><%Iterator iter = all.iterator() ;while(iter.hasNext()){Note note = (Note)iter.next() ;i++ ;// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容int id = note.getId() ;String title = note.getTitle() ;String author = note.getAuthor() ;String content = note.getContent() ;if(keyword!=null){// 需要将数据返红title = title.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;author = author.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;content = content.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;}%><tr><td><%=id%></td><td><a href="update.jsp?id=<%=id%>"><%=title%></a></td><td><%=author%></td><td><%=content%></td><td><a href="delete_do.jsp?id=<%=id%>">删除</a></td></tr><%}// 判断i的值是否改变,如果改变,则表示有内容,反之,无内容if(i==0){// 进行提示%><tr><td colspan="5">没有任何内容!!!</td></tr><%}%>
</table><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>
------------------------delete_do.jsp-----------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%><html>
<head><title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center><h1>留言管理范例 —— JSP + DAO实现</h1><hr><br><%if(session.getAttribute("uname")!=null){// 用户已登陆%>  <%// 接收参数int id = 0 ;try{id = Integer.parseInt(request.getParameter("id")) ;}catch(Exception e){}%><%response.setHeader("refresh","2;URL=list_notes.jsp") ;try{DAOFactory.getNoteDAOInstance().delete(id) ;%>留言删除成功,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}catch(Exception e){%>留言删除失败,两秒后跳转到留言列表页!!!<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!<%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆!!!<br>两秒后自动跳转到登陆窗口!!!<br>如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br><%}%>
</center>
</body>
</html>

转载于:https://my.oschina.net/darkness/blog/357466

JSP复习笔记——第10章 连接数据库 之 jsp+DAO实现留言管理程序相关推荐

  1. CISSP复习笔记-第6章 通信与网络安全

    CISSP复习笔记-第6章 通信与网络安全 6.2 开放系统互联(Open System Interconnect,OSI)参考模型 6.2.9 OSI模型中的功能和协议 1. 应用层 文件传输协议( ...

  2. 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)

    系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...

  3. 《通信原理》复习笔记9----第九章数字信号的最佳接收及第九章相关例题

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  4. 《通信原理》复习笔记1----第一章绪论

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  5. 《通信原理》复习笔记4----第四章信道

    系列文章链接目录 一.<通信原理>复习笔记1----第一章绪论 二.<通信原理>复习笔记1----第一章绪论相关例题 三.<通信原理>复习笔记3----第三章随机过 ...

  6. CISSP复习笔记-第8章 业务连续性与灾难恢复

    CISSP复习笔记-第8章 业务连续性与灾难恢复 8.1 业务连续性和灾难恢复 业务评估(Business Assessment,BA) 风险评估(Risk Assessment):评估已存在的暴露 ...

  7. 【XJTUSE软件项目管理复习笔记】 第二章 软件项目整体管理

    仅供学习参考,禁止商用与转载 文章目录 软件项目管理复习笔记 第二章 软件项目整体管理 什么是项目整体管理 战略计划和项目选择 项目选择 项目的财务分析 净现值分析(重点) 投资收益率(ROI)分析法 ...

  8. PMP读书笔记(第10章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第十章 项目沟通管理 项目沟通管理 项目沟通管理的核心概念 项目沟通管理的趋势和新兴实践 裁剪考虑因素 在敏捷或适应型环境中需要考虑的因素 1 ...

  9. 【软考中级】多媒体应用设计师复习笔记第六章

    第6章多媒体数字版权管理技术 6.1多媒体数字版权管理概述 数字版权管理DRM是具有端到端保护功能的数字内容管理机制,通过定义生命周期和用户行为等手段,实现? 对内容使用和消费的管理.DRM技术的目的 ...

最新文章

  1. Restful API的设计思路
  2. Redis应用----消息传递
  3. 接口也可以创建对象吗_面试时,一个小小的设计模式可以把你虐成渣
  4. 2019年12月份最热门 Github 开源项目整理
  5. gitlab导入本地项目_Gitlab使用心得
  6. 在centos上安装mysql
  7. 如何为ip v6设定子网
  8. java两个字符串的重复率检查
  9. 怎样将计算机和电视机连接网络,家里怎么连接网络到电视机,让电脑和电视都可以上网。...
  10. Robot Framework installation not found. To run tests, you need to install Robot Framework separately
  11. harbor搭建-主从复制
  12. ftp工具绿色版,好用的ftp工具绿色版下载教程
  13. 女博士被骗85万 长年泡实验室不知道“徐玉玉”案
  14. Suzy找到实习了吗Day 17 | 二叉树进行中:110. 平衡二叉树,257 二叉树的所有路径,404. 左叶子之和
  15. Oracle数据库对小数点的操作
  16. ajax判断邮箱是否重复,帝国cms插件ajax判断用户名和邮箱是否存在
  17. AcWing第52场周赛
  18. EXCEL2021 网站复制内容突然粘贴不了到单元格
  19. 2020年百子菁英计划青少年数学爱好者沙龙——S6
  20. 高级设置_索尼国行OLED电视A8H校准图像设置参数+解锁20点高级色温(白平衡)...

热门文章

  1. 二叉排序树(c/c++)
  2. 每3位新码农中就有2个是单身?来自31000人的调查报告显示……
  3. 英特尔推出颠覆性架构:3D堆叠芯片,10nm制程明年上市
  4. 1. 写出一个能创建多级目录的 PHP 函数(新浪网技术部)
  5. 配置虚拟主机 和 打war包
  6. toFixed()方法
  7. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点
  8. ARM中MMU的作用
  9. sql复杂查询语句总结
  10. ACM模板--邻接矩阵 无向图 Prim Kruskal Dijkstra