web 开发相关笔记 01

前端学习纲要 ※jQuery 参考 ※ 整理 Chrome 收藏夹的小技巧 ※ 解决 AJAX 跨域获取 cookie ※ 记一次 MyBatis 相关的 debug

【1】

前端学习纲要:

♦ 第一阶段:

web-project 的命名规范与文件的组织规范;

HTML 的基本元素 -->  例如 h p ui ol li .. img 等 --> HTML 元素的属性;

CSS 属性与值 --> 各种选择器 --> 盒子模型 --> inline 和 block 的区别(CSS 本质上是 HTML 元素的一个属性);

JS --> 用于完善网页的动态与逻辑 --> 动态创建元素 更改 CSS属性等 --> DOM --> 学会查看 相关API --> Window 方法、属性;

掌握 发布网站的 N 种途径

♦ 第二阶段:

HTML --> 学会用 span 与 div 封装内容 --> 了解 HTML 中的转义字符 --> 掌握超链接相关内容,例如图片超链接,链接到文档的特定部分,链接的选取等  链接的最佳实践 --> 了解 URL 路径,例如如何转到父目录等;

JS --> 了解何为 strict 模式 --> JS 变量的作用域、JS 的符号不严格,例如 ; 与 " ‘ 等(JavaScript 引擎具有行末自动添加分号的机制) --> JS 中字符串相关的内容,例如  ${} 取变量值、length、字符串不可变、一些操作字符串的方法等 --> 数组相关的操作! --> JS 对象的 in delete 操作及其继承关系 --> For 语句最常用于遍历数组 --> 定义 JS 函数的两种等价形式 --> JS 减少命名冲突常常采用 “名字空间” 封装自定义变量 -->  处理 JSON 数据 --> JS 的面向对象 --> 利用 httpOnly 防止 cookie 泄露 --> 操作DOM --> AJAX --> 跨域相关的问题 --> jQuery

【2】

jQuery 参考 --> 选择器 & 操作 DOM & 事件

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Basic table</title>
    <style>
        td {
            border: 1px solid #999;
            padding: 0.1em 1em;
        }

        .red {
            color: blue;
        }
    </style>
</head>

<body>
    <table class="simple-table" id="my-table">
        <tr id="row-one">
            <td>Cats</td>
            <td>Dogs</td>
            <td>Lemurs</td>
        </tr>
        <tr class="a b c">
            <td class="wide-animal">Tiger</td>
            <td>Grey Wolf</td>
            <td>Indri</td>
        </tr>
    </table>
    <script src="scripts\jquery-3.2.1.min.js"></script>
    <script>
        var v1 = $(‘#row-one‘); // query by id, v1 is a jQuery object
        var v2 = v1.get(0); // v2 is a DOM object
        var v3 = $(v2); // v3 is a jQuery object

        var v4 = $(‘td‘); // query by tag name
        var v5 = $(‘.simple-table‘); // query by class name
        var v6 = $(‘.a.b.c‘); // query elements that contain a b c at the same time
        // ... query by properties
        var v7 = $(‘td.wide-animal‘); // query by tag-name and class-name
        // ... Omitted n methods
        // console.log(v7);

        // Special selectors, such as $ (‘input [type = radio]: checked‘)..

        // get text and html
        var v8 = $(‘#my-table tr td[class=wide-animal]‘);
        console.log(v8.html() + ‘ ‘ + v8.text());

        // set text and html
        v8.html(‘<span style="color: red">Tiger</span>‘);
        var v9 = $(‘#my-table tr td‘);
        v9.text(‘Tiger‘); // Change all data to tiger

        // get+set+clear STYLE!
        console.log(v9.css(‘color‘));
        v9.css(‘color‘, ‘red‘); // css(‘name‘, ‘value‘)
        v9.css(‘color‘, ‘‘);
        v9.addClass(‘red‘);

        // hide & show
        v9.hide();
        v9.show();

        // get+set+remove propertis ...
        v9.attr(‘id‘, ‘complex-data‘);
        console.log(v9.attr(‘id‘));
        v9.removeAttr(‘id‘);

        // Form related content --> val() --> get+set
        // add+remove DOM
        v1.append(‘<td>fish</td>‘);
        v1.prepend(‘<td id=\‘fish\‘>fish</td>‘);
        v6.remove();

        // event
        var v10 = $(‘#fish‘);
        v10.click(function () {
            alert(‘fish!‘);
        });
        v10.mouseleave(function () {
            alert(‘fish!fish!‘);
        });
    </script>

    <p><input type="text" class="simple-input"></p>
    <p id="event-info"></p>

    <script>
        var v11 = $(‘.simple-input‘);
        v11.keydown(function () {
            v11.css("background-color", "#FFFFCC");
        });
        v11.focus(function () {
            $(‘body‘).attr(‘style‘, ‘background-color: red‘);
        });
        // other event, such as ready[<---important!!!]. submit.
        $(function () { // Equivalent to $(document).ready(function() {})
            // init...
        });
        // Get event information
        $(function () {
            $(‘html‘).mousemove(function (event) {
                $(‘#event-info‘).text(‘x = ‘ + event.pageX + ‘, y = ‘ + event.pageY);
            });
        });
    </script>

</body>

</html>

【3】

参考:http://www.cnblogs.com/helloyy/p/6109665.html#3741878

通过 AJAX 访问与通过浏览器键入地址访问是完全不同的,如果没有进行恰当的设置,浏览器将会把 AJAX 从服务器得到的 set-cookie 当成垃圾处理掉!

结果就是客户端得不到预期的 cookie ,要解决这个问题需要在【两边】进行设置,

客户端 AJAX 属性:

            async:false,
            data:datatosend,
            dataType:"json",
            beforeSend: function(xhr) {
                xhr.withCredentials = true;
            }
            crossDomain:true,

服务端:

response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));

暂时先这样。。。

【4】

关于 Chrome 的一个小技巧,按住 Ctrl 键可以很方便地整理文件夹。

【5】

记一次 BUG,参考:http://zhangsha1251.blog.163.com/blog/static/6262405320111037220994/

为了方便测试给实体类添加了一个有参构造器。。没有补上无参构造器。。导致 MyBatis 创建不了实体类对象。。。

时间: 2024-10-03 18:04:38

web 开发相关笔记 01的相关文章

web 开发相关笔记 02

[1] HTML 插入第三方. [2] [3] JavaScript 回调函数 & 模块化 --> 用变量封装数据.方法 --> 类比 Java 中的 package var fetchLive = function(callback) { $.ajax({ url: "live/list.do", method: 'GET', success: function (data) { callback(data); } }); }; var liveDisplay =

【web开发学习笔记】Hibernate学习总结

hibernate学习笔记 学习笔记部分: 本部分的学习比较容易,代码比较全,也容易理解,可以说是一些记忆性质的东西. 本人在学习过程中没有自己在做笔记,只是参考了网上找的学习笔记,按照那个笔记学习和复习挺快的. 源码中有一些jar包缺失,我在自学的时候也整理了相关的jar包和软件,已经上传,祝大家学习快乐. 相关资源链接: 相关的数据库连接的资源: http://download.csdn.net/detail/licong_carp/7656601 相关的jar包文件: http://dow

web开发学习笔记(3):HTML表格制作——table标签以及th、td、tr标签的使用例子

//纯属新手学习笔记,仅供参考. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http

【web开发学习笔记】Structs2 Action学习笔记(一)

1.org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter准备和执行 2. <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> url-pattern约定熟成只写/*,没必要写*.action 3. <

【web开发学习笔记】Structs2 Action学习笔记(二)

action学习笔记2-有关于action method的讨论 Action执行的时候并不一定要执行execute方法,可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)(推荐) 方法一 <struts> <constant name="struts.devMode" value="true" /> <package name="user" e

【web开发学习笔记】Structs2 Action学习笔记(三)action通配符的使用

action学习笔记3-有关于通配符的讨论 使用通配符,将配置量降到最低,不过,一定要遵守"约定优于配置"的原则. 一:前端htm <前端代码html> </head> <body> <a href="<%=context %>/actions/Studentadd">添加学生</a> <a href="<%=context %>/actions/Studentdel

Django Web开发学习笔记(5)

第五部分 Model 层 创建一个app工程.app和project的区别引用DjangoBook的说法是: 一个project包含很多个Django app以及对它们的配置. 技术上,project的作用是提供配置文件,比方说哪里定义数据库连接信息, 安装的app列表, TEMPLATE_DIRS ,等等. 一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在. 例如,Django本身内建有一些app,例如注释系统和自动管理界面. app的一个关键点是它

Django Web开发学习笔记(4)

第四章 模板篇 上一章的内容,我们将HTML的代码和Python代码都混合在了在view.py的文件下.但是这样做的坏处无疑是明显的,引用DjangoBook的说法: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修改往往比底层 Python 代码的修改要频繁得多,因此如果可以在不进行 Python 代码修改的情况下变更设计,那将会方便得多. Python 代码编写和 HTML 设计是两项不同的工作,大多数专业的网站开发环境都将他们分配给不同的人员(甚至不同部门

Django Web开发学习笔记(1)

一.Python的标准类型 (1)bool型 >>> bool("") False >>> bool(None) False >>> bool(False) False (2)数值型 Python的数值型数据包含两类:int和float型数据,需要注意的是还有一个complex的类型,也就是复数类型 >>> a = complex(1,3) >>> a (1+3j) >>> b