Fork me on GitHub
To the moon

A Coder,a Programmer,a Developer


  • Home

  • Tags

  • Categories

  • Archives

  • Search

notes_for_HeadFirstServletsAndJsp2

Posted on 2018-05-13 | Edited on 2023-05-09 | In notes

Head First Servlets&JSP 读书笔记_2

名词解释

  • 消息体/负载 :Payload,是数据传输的根本目的,也称实际数据/数据体;
  • 元数据:也称数据头/开销数据,是帮助负载传输的辅助;
  • MIME类型:规范的一种,用以描述报文类型的内容和组织形式,包含HTTP响应首部中content-type,Content-Transfer-Encoding等;
  • 端口列表 :TCP/UDP端口列表
  • 部署描述文件(deployment descriptor,DD),即web.xml。每个Web应用需要一个DD,但一个DD可以声明多个servlet

干货正文

为什么有时不建议用HTTP GET?

  1. Get的总字符数有限,(取决于服务器),如果在搜索框中写入太多,可能使get方法无法正常工作;
  2. get数据会加到URL后面,在浏览器地址栏中显示出来;
  3. 然而,用了post,用户将不能对一个表单提交建立书签,get请求的url能保存为浏览器书签;
  4. 然而,用了post,请求不能被缓存下来,不会保存在浏览记录中。

Web服务器自己不做的两件事

1、动态内容;2、在服务器上保存数据

  1. Web服务器只提供静态页面。web服务器与辅助应用通信,由辅助应用具体写出HTML(即时页面);
  2. 用户提交表单数据时,web服务器看到表单数据,将其移交给辅助应用,由这个应用为客户生成一个响应。

辅助应用

通常包含Servlet和CGI(Common Gateway Interface),两者各有优缺点。

放在Servlet中的HTML的糟糕表现

在servlet中创建一个动态Web页面就需要把整个HTML打印到一个输出流,以下是未ps版代码,ps版代码是将java代码放入HTML中(即jsp)

1
2
3
out.println("<html>"+
"<body>"+today+"</body>"+
"</html>");
Read more »

How to send files to cloud server

Posted on 2018-05-10 | Edited on 2023-05-09 | In method

采用scp的方式,scp的更多用法参考scp命令 从mac向linux服务器发送文件/目录发送文件scp /Users/lee/Desktop/z1.png root@***.**.***.***:/usr/local 解释 :scp local_file remote_usernam ...

Read more »

notes_for_HeadFirstServletsAndJsp1

Posted on 2018-05-07 | Edited on 2023-05-09 | In notes

Head First Servlets&JSP 读书笔记_1

开篇思考

Q:web的体系结构?
A:请求到来时,必须要有人实例化servlet,或至少新建一个线程处理这个请求。必须有人调用servlet的doPost()和doGet()方法。必须有人把请求和响应交给servlet。有人管理servlet的生与死和servlet的资源。————由容器来完成。

Q:servlet要做的工作?
A:为客户服务。得到一个客户的请求,再发回一个响应。

Q:会话状态的作用是什么?
A:因为web服务器没有短期记忆(发送了响应,web服务器就会忘记你是谁,下次你再发出请求时,web服务器不会认识你),此时就需要会话来完成这项工作。

Q:JSP与servlet的关系?
A:Jsp会编程servlet。容器会查看jsp,把它转换成java源代码,再编译成完成的java servlet类。

Q:Jsp转换成servlet过程有哪些是程序员需要知道的?
A:需要知道转换过程,需要知道怎么在jsp中写java代码,需要知道如何编写jsp。需要学习EL,学习JSTL,学习过滤器…

Read more »

operationSystem_primary_1

Posted on 2018-05-06 | Edited on 2023-05-09 | In imooc

操作系统基础部分_1

副标题:哈工大 李志军《操作系统》

计算机上电后启动(看不懂,以后补充)

完成功能:读入内存,完成初始化

Q:os在磁盘上如何取指执行?
A:将os从磁盘载入内存中。由一开机时的操作系统第一段代码,即bootsect.s程序(为控制编写代码出现的位置,使用汇编)来完成。

  • 对于Intel x86 PC , 开启电源后, 机器就会开始执行ROM BIOS的一系列系统测试动作,包括检查RAM,keyboard,显示器,软硬磁盘等等。执行完bios的系统测试之后,紧接着控制权会转移给ROM中 的启动程序(ROM bootstrap routine);这个程序会将磁盘上的第0轨第0扇区(叫boot sector或MBR , 系统的引导程序就放在此处)读入内存中,并放到自0x07C0:0x0000开始的512个字节处;然后处理机将跳到此处开始执行这一引导程序;也即装入 MBR中的引导程序后, CS:IP = 0x07C0:0x0000 。加电后处理机运行在与8086相兼容的实模式下。
  • 如果要用 bootsect-loader进行系统引导,则必须把bootsect.S编译连接后对应的二进制代码置于MBR ; 当ROM BIOS 把bootsect.S编译连接后对应的二进制代码装入内存后,机器的控制权就完全转交给bootsect ; 也就是说,bootsect将是第一个被读入内存中并执行的程序。

Q:bootsect.s程序做了什么事情 ?
A:将os代码分段读入。先读入setup,然后屏幕打印开机logo,再然后调用BIOS的13号中断把os的system部分读入 ,任务完成。然后交给setup取址执行。

Read more »

primary_javaweb_forHTML

Posted on 2018-05-06 | Edited on 2023-05-09 | In imooc

javaweb基础之HTML_1

HTMl基本结构

可参考教程w3schools

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>html document</title>
</head>

<body>

</body>
</html>

  • The “!DOCTYPE html” declaration defines this document to be HTML5,It must only appear once, at the top of the page (before any HTML tags).The <!DOCTYPE> declaration is not case sensitive.
  • The “html” element is the root element of an HTML page
  • The “head” element contains meta information about the document
  • The “title” element specifies a title for the document
  • The “body” element contains the visible page content
  • The “h1” element defines a large heading
  • The “p” element defines a paragraph
Read more »

javaweb_EditAndUpdate

Posted on 2018-05-05 | Edited on 2023-05-09 | In java

本文进行对象的编辑和提交功能

对分类对象进行编辑和提交

操作思路

  1. 在CategoryMapper中增加sql语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- 通过id获取Category对象 -->
    <select id="get" resultType="Category">
    select * from category where id = #{id}
    </select>

    <!-- 提交数据 -->
    <update id="update" parameterType="Category">
    update category set name = #{name} where id = #{id}
    </update>
  2. 在CategoryMapper/CategoryService/CategoryServiceImpl中增加get和update方法,代码略

  3. 在listCategory.jsp中增加edit的超链接。效果:网页上点击图标,进入admin_category_edit链接,并传入id

    1
    2
    3
    4
    5
    6
    <td>
    <a href="admin_category_edit?id=${c.id}">
    <span class="glyphicon glyphicon-edit"/>
    </a>
    </td>

Read more »

javaweb_forDelete

Posted on 2018-05-05 | Edited on 2023-05-09 | In java

继续javaweb_forQuery的内容,本文讲解删除操作

对列表中对象进行删除操作

增加删除的超链

指向地址admin_category_delete,并传递该对象的id过去

1
2
3
4
5
6
7
8
9
/*在listCategory.jsp文件中 */
<td>
<a deleteLink="true"
href="admin_category_delete?id=${c.id}">
<span class=" glyphicon glyphicon-trash">
</span>
</a>
</td>

用于删除前的确认

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*在adminHeader.jsp文件中 */
/*对所有的删除链接进行监听 */
$(function(){
$("a").click(function(){
var deleteLink = $(this).attr("deleteLink");
console.log(deleteLink);
if("true"==deleteLink){
var confirmDelete = confirm("确认要删除");
if(confirmDelete)
return true;
return false;

}
});
})

[延伸阅读]有关jsp的知识可以参考JSP简介|菜鸟教程,简要 :

  • 使用jsp将java代码嵌入html网页中。
  • 网络服务器需要一个 JSP 引擎,也就是一个容器来处理 JSP 页面。容器负责截获对 JSP 页面的请求。

JSP 容器和 JSP 文件

Read more »

Note for Computer Network 1

Posted on 2018-05-05 | Edited on 2023-05-09 | In notes

副标题:阅读《网络是怎么连接的(户根勤)》读书笔记1

开篇思考

Q: 为什么在DNS失效时,还能够用QQ聊天呢?
A: QQ是直接通过IP地址来连接服务器的。

Q:网络怎么通信?怎么传输数据?
A:浏览器和服务器需要一个传递请求和接受响应的机制,机制需要确定正确的传输对象,避免信息丢失,并准确无误发送给对方。即一份将数字信息搬运到指定目的地的机制。

Q:浏览器如何发送信息?
A:浏览器不亲自发送信息,而是委托机制,具体说就是委托操作系统中的网络控制软件(即协议栈)发送消息。

Q:协议栈的职责?
A:将从浏览器接收来的信息打包,加上目的地址等控制信息,将包交给网卡(负责以太或者无线通信的硬件),由网卡将包转换成电信号并通过网线发送出去。协议栈还具有通信错误时重新发包,或调节数据发送的速率等功能。

Q:客户端是如何接入互联网的?
A:eg:PC机连到局域网,再通过ADSL和光纤等宽带线路接入互联网,中途会经过交换机和路由器,路由器后面就是互联网

Q:接入网?
A:数据发出端到路由器这段线路,就是接入网。从路由器往里走就是互联网的内部。使用电话线/ISDN/ADSL/有线电视/光线/专线等通信线路,也称为接入网。

Q:接入点?
A:接入网连接到网络运营商,并接入接入点(某种设备,即PoP,point of presence)。接入点实体是专为运营商设计的路由器。在路由器后面是大量的运营商和路由器。

Q:路由器间连接方式的差异?
A:局域网使用以太线连接,互联网有以太线/电话技术/光通信技术。

Read more »

javaweb_forQuery2

Posted on 2018-05-04 | Edited on 2023-05-09 | In java

forquery.png

学习内容:

  1. 接着forQuery1的内容,思路见上图
  2. 新增add功能,URL为tmall_ssm/admin_category_list
  3. 实现图片上传

实现思路:

  1. 首先在 CategoryMapper.xml中增加id=”add”的sql语句,使用keyProperty和useGeneratedKeys属性,将自动递增的id值设置在Category对象上
1
2
3
<insert id="add" keyProperty="id" useGeneratedKeys="true" parameterType="Category">
insert into category (name) values (#{name})
</insert>

[注] Mapper XML的Insert, Update, Delete ‘s Attributes

Read more »

javaweb_forQuery

Posted on 2018-05-03 | Edited on 2023-05-09 | In java

学习内容链接

http://how2j.cn/k/tmall_ssm/tmall_ssm-1516/1516.html

总体思路

使用springMVC+spring+mybatis的方式打通表现层/业务层/持久层。从浏览器接收访问路径开始,经过数据库调取数据(只做查询),最后从浏览器显示视图的全部简易流程。

开发环境

  • Eclipse oxygen
  • tomcat 8.5
  • Apache maven 3.5.3
  • mysql

实现步骤

  1. 环境配置完成后,启动Maven新建webapp项目
  2. 在pom.xml中添加依赖(依赖来源:Maven Repository)

依赖清单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<properties>
<spring.version>4.1.3.RELEASE</spring.version>
<pagehelper.version>5.1.2-beta</pagehelper.version>
<mysql.version>5.1.6</mysql.version>
<mybatis.spring.version>1.2.3</mybatis.spring.version>
<mybatis.version>3.1.1</mybatis.version>
<junit.version>4.12</junit.version>
<jstl.version>1.2</jstl.version>
<jsqlparser.version>1.0</jsqlparser.version>
<jackson.version>1.2.7</jackson.version>
<servlet-api.version>3.1.0</servlet-api.version>
<druid.version>1.0.18</druid.version>
<log4j.version>1.2.16</log4j.version>
<commons-logging.version>1.2</commons-logging.version>
<commons-fileupload.version>1.2.1</commons-fileupload.version>
<commons-io.version>1.3.2</commons-io.version>
<commons-lang.version>2.6</commons-lang.version>
<aopalliance.version>1.0</aopalliance.version>
<mybatis-generator.version>1.3.5</mybatis-generator.version>
</properties>
  1. 创建实体类Category,定义了private的id和name,以及getter/setter方法

    1
    2
    3
    4
    5
    6
    7
    8
    public class Category {
    private Integer id;
    private String name;
    public Integer getId() { return id; }
    public void setId(Integer id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    }
Read more »
1…1415

Harrison Lee / Email (harrisonli60@163.com)

It is never too late to learn a new skill, even a challenging one.

150 posts
21 categories
32 tags
© 2025 Harrison Lee / Email (harrisonli60@163.com)
Powered by Hexo v6.3.0
|
Theme – NexT.Mist v7.0.0
|