There is no accidental luck, only constant
efforts!

一.如何是标准库(Standard Library)

规范库指的是js的科班内置对象,是js那门语言本人起先时提供的在全局范围的靶子

package cn.news.serlvet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.news.entity.Topic;
import cn.news.service.ITopicService;
import cn.news.service.impl.TopicServiceImpl;

public class TopicServlet extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

         doPost(request,response);

    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        ITopicService service=new TopicServiceImpl();
        try {
            List<Topic> list = service.getAllTopics();
            request.setAttribute("topicList",list);
            //转发到列表页面
            request.getRequestDispatcher("/newspages/topic_list.jsp").forward(request, response);

        } catch (SQLException e) {

        }
    }

}

目录
一.怎么是规范库
2.Object对象及其实例
三.Number对象及其实例
四.String对象及其实例
5.Boolean对象及其实例
陆.Array对象及其实例
7.Math对象及其实例
8.Date对象
九.标准库小结

<!DOCTYPE html>
<html>
<head>
    <title>
        <%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
    <script src="javascripts/zepto.js" type="text/javascript"></script>
</head>
<body>
    <h1>
        <%= title %></h1>
    <div>
        标题:<input type="text" id="title" />
    </div>
    <div>
        内容:<textarea id="content"></textarea>
    </div>
    <div>
        <input type="button" type="button" id="ok" value="添加新闻" />
    </div>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#ok').click(function () {
                var param = {};
                param.title = $('#title').val();
                param.content = $('#content').val();

                $.post('/addNews', param, function () {

                    console.log('添加成功');
                });
            });
        });
    </script>
</body>

结束!谢谢观看。

7.Math对象及其实例

Math对象提供部分数学方面包车型地铁个性和方式,但Math对象无法成立实例对象

  • Math对象的性质

Math.E
Math.LN2
Math.LN10
Math.PI
Math.SQRT2
  • Math对象的方法

1.Math.abs()
Math.abs(-9)//9
2.Math.max() & Math.min()
Math.max(-1,1,6)//6
Math.min(-1,1,6)//-1
3.Math.pow()
Math.pow(2,3)//8
4.Math.exp()
Math.exp(2)//7.3890560989306495
5.Math.sqrt()
Math.sqrt(3)//1.7320508075688772
6.Math.log()
返回以e为底的自然对数值
Math.log(Math.E)//1
7.Math.ceil() & Math.floor()
Math.ceil:接受一个参数,返回大于该参数的最小整数
Math.floor:接受一个参数,返回小于该参数的最大整数
Math.ceil(1.1)//2
Math.floor(1.1)//1
8.Math.round()
用于四舍五入
Math.round(0.1)//0
Math.round(0.5)//1
Math.round(-1.5)//-1
Math.round(-1.6)//2
9.Math.random()
返回0到1之间的一个伪随机数,可能等于0,但是一定小于1
Math.random()*50+50//[50,100)之间的随机数
10.三角函数方法
略
11.valueOf() & toString()
valueOf()返回Math对象的原始值
toString()返回Math的对象类型
package cn.news.dao.impl;

import java.sql.SQLException;

import org.junit.Test;

import cn.news.dao.BaseDAO;
import cn.news.dao.IUserInfoDAO;
import cn.news.entity.UserInfo;

public class UserInfoDAOImpl extends BaseDAO implements IUserInfoDAO {

    @Test
    public void loginTest() throws SQLException{
        UserInfo info =new UserInfo();
        info.setUname("admin");
        info.setUpwd("admin");
         boolean flag= isLogin(info);
         if (flag) {
            System.out.println("login success!");
        }
    }


    public boolean isLogin(UserInfo info) throws SQLException {
        boolean flag=false;

        String sql="select count(1) as mycount from userinfo where uname=? and upwd=?";
        Object[] paras={info.getUname(),info.getUpwd()};
        getConection();
        rs=executeQuery(sql,paras);
        if (rs.next()) {
            int count = rs.getInt("mycount");
            if (count>0) {
                //登录成功
                flag=true;
            }
        }
        closeResources();
        return flag;
    }

6.Array对象

Array对象是数组的包裹对象

  • 始建四个Array对象实例

var array = new Array(1,2,3)
//字面量方法
var arr = [1,2,3]
  • Array对象的天性

length属性
var arr= [1,2,3]
arr.length//3
  • Array对象的艺术

1.valueOf & toStrng()
valueOf返回数组对象原始值
toString()返回字符串
var arr = [1,2,3]
arr.valueOf()//[1, 2, 3]
arr.toString()//"1,2,3"
2.增加数组元素
arr.push() & arr.unshift()//一个在尾部一个在首部增加元素,并返回新数组的长度
arr.push("h","e","e")//6
arr//[1, 2, 3, "h", "e", "e"]
arr.unshift(1,1,1)//9
arr//[1, 1, 1, 1, 2, 3, "h", "e", "e"]
3.删除数组元素
arr.pop() & arr.shift()//一个在尾部一个在首部删除元素,并返回删除的元素,每次调用只能删一个
var arr = [1, 1, 1, 1, 2, 3, "h", "e", "e"]
arr.pop()//"e"
arr//[1, 1, 1, 1, 2, 3, "h", "e"]
arr.shift()//1
arr//[1, 1, 1, 2, 3, "h", "e"]
4.灵活删除增添元素的方法
var arr = [1, 1, 1, 1, 2, 3, "h", "e", "e"]
arr.splice(0,4,"w","y")//[1, 1, 1, 1]
arr//["w", "y", 2, 3, "h", "e", "e"]
5.join(separator)
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
var arr = [1, 1, 1, 1, 2, 3, "h", "e", "e"]
arr.join("-")//"1-1-1-1-2-3-h-e-e"
6.sort(func)
var arr = [1, 1, 1, 1, 2, 3, "h", "e", "e"]
arr.sort()//[1, 1, 1, 1, 2, 3, "e", "e", "h"]
7.reverse()
var arr = [1, 1, 1, 1, 2, 3, "h", "e", "e"]
arr.reverse()//["e", "e", "h", 3, 2, 1, 1, 1, 1]
8.concat()
合并数组
var a =[1,3,4]
var b = [4,2,1]
a.concat(b)//[1, 3, 4, 4, 2, 1]

【注】
Array对象实例所利用到的性格和章程基本包括在Array对象的属性和措施中

 -登入页面

四.String对象及其实例

String对象是字符串的包裹对象,利用String()构造函数制造贰个String对象的实例

  • String对象的天性和方法

1.length属性
返回字符串长度
var str = "111"
str.length//3

1.String()本身作为方法
能够将其他类型值转换为字符串
String(1)//"1"
String(true)//"true"
String([1,2,3])//"1,2,3"
String([])//""
String({name:"teren"})//"[object Object]"
2.charAt()
返回指定位置的字符
var str = "123"
str.charAt(2)//"3"
3.charCodeAt()
返回在指定的位置的字符的 Unicode 编码
str.charCodeAt(0)//49
4.indextOf()
返回字符所在的位置
str.indexOf(1)//0
5.substring()
提取字符串中两个指定的索引号之间的字符
var str = "NBA Basketball "
str.substring(1,3)//"BA"
str.substring(1,5)//"BA B"
6.toUpperCase()&toLowerCase()
var str ="hello"
str.toUpperCase()//"HELLO"
var strr = "HELLO"
strr.toLowerCase()//"hello"
7.trim()
删除空格
var s = "      str"
s//"      str"
s.trim()//"str"
8.split()
把字符串分割为字符串数组
var s = "hello"
s.split("")//["h", "e", "l", "l", "o"]
var str = "hello world"
str.split(" ")//["hello", "world"]
9.slice(1,5)
从下标为1开始(包含元素)至下标5(不包含)
var str = "helloworld"
str.slice(1,5)//"ello"
10.valueOf()&toString()
都是返回字符串
  • String对象实例的品质和章程

var str = new String("hello world");
//字面量
var str = "hello world"

【注】
String对象实例的天性和格局基本涵盖在String对象的属性与艺术中

四.Boolean对象及其实例
Boolean对象是布尔值的卷入对象,利用Boolean构造函数创设3个布尔对象

var a = true;
typeof a//"boolean"
var b = new Boolean (true)
typeof b//"object"

【注】
不鼓励利用Boolean()构造布尔对象

 4503.com 1

8.Date对象

Date对象是JavaScript提供的日子和岁月的操作接口

  • Date实例对象的参数
    Date对象的开始时间为196陆年12月210日00:00:00 UTC

new Date()//Tue Jun 21 2016 21:45:31 GMT+0800 (中国标准时间)
new Date(1000)//Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)
new Date(3600*24*1000)//Fri Jan 02 1970 08:00:00 GMT+0800 (中国标准时间)
new Date("March 5,2015")//Thu Mar 05 2015 00:00:00 GMT+0800 (中国标准时间)
new Date("2015/5/5")//Tue May 05 2015 00:00:00 GMT+0800 (中国标准时间)
new Date(2014,1,1,23,59,23,999)//Sat Feb 01 2014 23:59:23 GMT+0800 (中国标准时间)
  • Date对象的法子

1.Date()本身作为方法
var today = new Date()
2.Date.now()
返回当前距离1970年1月1日 00:00:00 UTC的毫秒数
Date.now()//1466517135730
3.Date.parse()
用来解析日期字符串,返回距离1970年1月1日 00:00:00的毫秒数
Date.parse(2015,2,2)//1420070400000
4.Date.UTC()
返回当前距离1970年1月1日 00:00:00 UTC的毫秒数
Date.UTC(2000,0,1)//946684800000
  • Date对象实例的点子

1.to类:返回关于时间和日期的字符串
toString():返回一个完整的日期字符串
var d = new Date(2000,0,1)
d.toString()//"Sat Jan 01 2000 00:00:00 GMT+0800 (中国标准时间)"
--
toUTCString():返回对应的UTC时间
var d = new Date()
d//Tue Jun 21 2016 22:00:06 GMT+0800 (中国标准时间)
d.toUTCString()//"Tue, 21 Jun 2016 14:00:06 GMT"
--
toDateString():返回日期字符串
d.toDateString()//"Tue Jun 21 2016"
--
toTimeString():返回时间字符串
d.toTimeString()//"22:00:06 GMT+0800 (中国标准时间)"

2.get类:获取关于时间和日期的值
getTime():返回距离1970年1月1日00:00:00的毫秒数
var d = new Date(2000,0,1)
d//Sat Jan 01 2000 00:00:00 GMT+0800 (中国标准时间)
d.getTime()//946656000000
--
getDate():返回实例对象对应每个月的几号
d.getDate()//1
--
getDay():返回星期几
d.getDay()//6
--
getFullYear():返回四位的年份
d.getFullYear()//2000
--
getMonth() & getHours() & getMinutes & getSeconds & getMilliseconds
d.getHours()//0
d.getMinutes()//0
d.getSeconds()//0
d.getMilliseconds()//0

3.set类:设置实例对象的时间和日期
var d = new Date(2000,0,1)
d.setDate(20)//948297600000
d//Thu Jan 20 2000 00:00:00 GMT+0800 (中国标准时间)
--
setFullYear()
d.setFullYear(2005)//1106150400000
d//Thu Jan 20 2005 00:00:00 GMT+0800 (中国标准时间)
--
setMonths & setHours & setMinutes  & setSeconds & setMiliseconds效果同上

【注】
有关jsDate对象的时光和日期的取值范围

秒钟和秒:0 到 5九
小时:0 到 23
星期:0(星期天)到 6(星期六)
日期:1 到 31
月份:0(一月)到 11(十二月)
寒暑:距离190四年的年数

 

10.标准库小结

  • 规范库是js的始发提供的标准内置对象,分为Object对象、Number对象、String对象、Boolean对象、Array对象、Math对象以及Date对象
    【注】不压制上述目的,还有RegExp对象和JSON对象

  • js全数的靶子都以由Object对象布局的,包涵其指标实例以及Number、String、Boolean、Array、Math和Date等指标;

  • 对象一般都会含有属性和情势,属性代表属于对象的有个别特点值,方法表示对象的少数功效;

  • 指标在品质在那之中经常设置constructor(Math对象未有)和prototype属性,部分对象包涵length属性(String和Arrary对象的length有实践意义);conStructor设置该对象的构造函数成效,prototype设置2个原型对象——使得全体该指标的构造函数创设的目的实例可以从prototype对象中延续相应的个性;

  • Object对象的性情和艺术最具普通,抢先百分之五十本性和方式能够在任何对象中找到,可是每四个对象还存有各自的性质和办法(有个别只好对象使用,有个别能够对象实例使用(因为布署在各自对象的prototype里))

  • 这边越发说一下valueOf()、toString()在分歧指标中的效果,一般valueOf()输出对象的原始值,toString()输出字符串

var o = new Object(123)
var o1 = new Object("123)
o.valueOf()//123
o.toString()//"123"
o1.valueOf()//"123"
o1.toString()//"123"
var o2 = [1,2,3]
o2.valueOf()//[1, 2, 3]
o2.toString()//"1,2,3"
var o3 = {name:"teren",age:18}
o3.valueOf()//Object {name: "teren", age: 18}
o3.toString()//"[object Object]"
  • Number对象是数值对应的包装对象,String对象是字符串对应的卷入对象,Boolean是布尔值对应的包裹对象

var num = 123//type of num -> "number"
var num = new Number(123) //type of num -> "object"
var str = "hello" 
var str = new String("hello")
var bool = true;
var bool = new Boolean(true)

【注】本笔记的资料超过百分之二十五参阅阮一峰的JavaScript标准参照教程

从未奇迹的天数,只有不断的鼎力!

叁.Number对象及其实例

Number对象是数值对应的卷入对象,所谓包装对象如上面例子所示:

var num = 123//这是一个数据类型为数值的数值
var num = new Number(123)//这里通过Number函数构造一个对象,从而把数值123包装进Number对象中
  • Number对象的属性和方法
    壹.Number指标的性质

Number.MAX_VALUE
Number.MIN_VALUE
Number.POSITIVE_INFINITY
Number.NEGATIVE_INFINITY
Number.NaN

【注】
Number对象实例是心有余而力不足赢得去Number对象的属性

var x = new Number(123);
x.MAX_VALUE;//undefined

二.Number对象的艺术

1.Number()自身的方法
将任何类型的值转化为数值
Number(100)//100
Number("100")//100
Number("100e")//NaN
Number([1,2,3])//NaN
Number(true)//1
Number([])//0
Number({})//NaN
2.toFixed()
把数字转换为字符串,并保留几位小数
var a = 123
a.toFixed(2)//"123.00"
a.toFixed(3)//"123.000"
a.toFixed(0)//"123"
3.toExponential()
把对象的值转换为科学计数法的字符串
a.toExponential(1)//"1.2e+2"
a.toExponential(2)//"1.23e+2"
a.toExponential(3)//"1.230e+2"
a.toExponential(4)//"1.2300e+2"
4.valueOf()
a.valueOf()//123
5.toString()
a.toString()//"123"
6.isFinite()
Number.isFinite(123)//true
Number.isFinite(NaN)//false
7.isNaN()
Number.isNaN(NaN)//true

下图是Number对象承袭自Object对象的属性和措施,以及直属于Number的品质和艺术

4503.com 2

  • Number对象实例的习性和方法

//构造Number对象的实例
var num = new Number(123)

【注】
Number对象实例所选拔到的质量和措施基本包罗在Number对象的性质和艺术中

 

2.Object对象及其实例

JavaScript原生提供三个Object对象,全数的别样对象均连续自这壹对象

  • Object对象的属性和方法
    利用console.dir(Object)查找Object对象的性质和章程

4503.com 3

常用的本性或措施简单介绍:
1.prototype对象

prototype是Object对象下的原型对象,
原型对象里面用于放置其他继承自Object对象的属性和方法,例如:
Object.prototype.valueOf()
Object.prototype.toString()
两个方法都是部署在Object对象下的prototype原型对象,
而其他对象如Number对象、String对象
或是自定义对象var a = new Object()都可以继承prototype的属性和方法

2.Object.keys(object)

keys()方法输入一个实例对象并返回对象的属性数组

4503.com 4

3.Object.getOwnPropertyNames

4503.com 5

【注】keys方法只回去可枚举的习性,getOwnPropertyNames还重临不胜枚举的属性名。

4.Object()自己作为艺术运用

var a = {name:"teren"}
Object(a)
//传入一个对象实例返回该实例
Object {name: "teren"}

//传入一个原始类型值,则返回该值对应的包装对象

4503.com 6

  • Object对象实例的习性和办法

Object对象自己是二个构造函数,可以使用Object构造函数构造对象实例

var person = new Object();
person.name = "teren";
//字面量方法
var person = {name: "teren"};

【注】
富有的对象都是由Object构造出来的;
字面量成立对象的点子和行使Object()构造对象的主意是等价的;

Object对象有成都百货上千办法计划在Object.prototype对象上,全部的Object的靶子实例都持续这几个办法

1.Object.prototype.valueOf()
valueOf()方法重返叁个对象的“值”。暗许情状下,重返对象自己

var o = {name:"teren"}
o.valueOf()//Object {name: "teren"}
var p = {name:"teren",age:18}
p.valueOf()//Object {name: "teren", age: 18}
var q = {}
q.valueOf()//Object {}

【注】
valueOf方法的主要用途是,JavaScript自动类型调换时会私下认可调用那几个办法

2.Object.prototype.toString()
toString方法再次来到一个对象的字符串格局,默许情状下回到类型字符串

var o ={name:"teren"}
o.toString()//"[object Object]"

【注】
toString方法的首要用来是,JavaScript自动类型调换时会私下认可调用这么些法子

var o = {}
o + "world"//"[object Object]world"

3.hasOwnProperty()
4503.com,hasOwnProperty():剖断有个别属性是还是不是为近期指标自己的属性,照旧延续自原型对象的质量,若继续自原型则赶回false

var o = {name:"teren"}
o.hasOwnProperty("name")//true
o.hasOwnProperty("toString")//false

肆.propertyIsEnumerable():剖断某些属性是或不是可枚举(遍历)

var arr = [1,2,3]
for(var key in arr){console.log(arr[key])}
1
2
3
arr.propertyIsEnumerable("0")//true
arr.propertyIsEnumerable("length")//false

4503.com 7

首先
新闻发表会结合了JSP里的Servlet和request对象,response对象还有使用session对象和cookie对象。

<%@page import="cn.news.entity.Page"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="cn.news.entity.NewsInfo"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>新闻中国</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%
Context ctx=new InitialContext();
String ss=(String)ctx.lookup("java:comp/env/hehe");
%>
<%=ss %>
<div id="header">
  <div id="top_login">
  <%--
     登录区域 需要程序员构建表单 
    --%>
    <form action="UserInfoServlet?action=login" method="post">
        <label> 登录名 </label>
        <input type="text" id="uname" name="uname"  value="" class="login_input" />
        <label> 密&#160;&#160;码 </label>
        <input type="password" id="upwd" name="upwd" value="" class="login_input" />
        <input type="submit" class="login_sub" value="登录" onclick="login()"/>
    </form>

    <label id="error"> </label>
    <img src="images/friend_logo.gif" alt="Google" id="friend_logo" /> </div>
  <div id="nav">
    <div id="logo"> <img src="images/logo.jpg" alt="新闻中国" /> </div>
    <div id="a_b01"> <img src="images/a_b01.gif" alt="4503.com 8" /> </div>
    <!--mainnav end-->
  </div>
</div>
<div id="container">
  <div class="sidebar">
    <h1> <img src="images/title_1.gif" alt="国内新闻" /> </h1>
    <div class="side_list">
      <ul>
        <li> <a href='#'><b> 景区,如何不再依靠门票收入 </b></a> </li>
        <li> <a href='#'><b> 高考期间中东部地区将现大范围降雨 </b></a> </li>
        <li> <a href='#'><b> 山西离柳焦煤集团井下人行车发生事故6人死亡 </b></a> </li>
      </ul>
    </div>
    <h1> <img src="images/title_2.gif" alt="国际新闻" /> </h1>
       <h1> <img src="images/title_3.gif" alt="娱乐新闻" /> </h1>
    <div class="side_list">
      <ul>
        <li> <a href='#'><b> "星跳水立方"决战临近 陈楚生被华谊要求进前三 </b></a> </li>
        <li> <a href='#'><b> 《新恋爱时代》登东方卫视 《非诚》元素遭删除 </b></a> </li>
        <li> <a href='#'><b> 《海角七号》导演新片开机 吴宇森等出席 </b></a> </li>
        <li> <a href='#'><b> 《致命黑兰》佐伊坐拥7种武器 暴力登陆全国院线 </b></a> </li>
      </ul>
    </div>
  </div>
  <div class="main">
    <div class="class_type"> <img src="images/class_type.gif" alt="新闻中心" /> </div>
    <div class="content">
      <ul class="class_date">
        <li id='class_month'> <a href='#'><b> 国内 </b></a> <a href='#'><b> 国际 </b></a> <a href='#'><b> 军事 </b></a> <a href='#'><b> 体育 </b></a> <a href='#'><b> 娱乐 </b></a> <a href='#'><b> 社会 </b></a> <a href='#'><b> 财经 </b></a> <a href='#'><b> 科技 </b></a> <a href='#'><b> 健康 </b></a> <a href='#'><b> 汽车 </b></a> <a href='#'><b> 教育 </b></a> </li>
        <li id='class_month'> <a href='#'><b> 房产 </b></a> <a href='#'><b> 家居 </b></a> <a href='#'><b> 旅游 </b></a> <a href='#'><b> 文化 </b></a> <a href='#'><b> 其他 </b></a> </li>
      </ul>
      <ul class="classlist">
      <% 
      Page onepage=(Page)request.getAttribute("onepage");

      for(NewsInfo item : onepage.getList()){
          %>

          <li> <a href='news_read.jsp'> <%=item.getNtitle() %> </a> <%=item.getNcreateda() %>  </li>         
    <%  
      }

      %>          
        <p align="right"> 当前页数:[1/2]&nbsp; <a href="UserInfoServlet?pageIndex=<%=onepage.getPageIndex()+1%>">下一页</a> <a href="#">末页</a> </p>

      </ul>
    </div>
    <div class="picnews">
      <ul>
        <li> <a href="#"><img src="images/Picture1.jpg" width="249" alt="4503.com 9" /> </a><a href="#">幻想中穿越时空</a> </li>
        <li> <a href="#"><img src="images/Picture2.jpg" width="249" alt="4503.com 10" /> </a><a href="#">国庆多变的发型</a> </li>
        <li> <a href="#"><img src="images/Picture3.jpg" width="249" alt="4503.com 11" /> </a><a href="#">新技术照亮都市</a> </li>
        <li> <a href="#"><img src="images/Picture4.jpg" width="249" alt="4503.com 12" /> </a><a href="#">群星闪耀红地毯</a> </li>
      </ul>
    </div>
  </div>
</div> 
<div id="footer">  
 <iframe src="index-elements/index_bottom.html" scrolling="no" frameborder="0" width="947px" height="190px"></iframe>
</div> 
</body>
</html>