Servlet:Java服务器端容器 JavaEE快速入门+HTTP协议+服务器及Tomcat的使用+Servlet入门案例

持续更新

在这里插入图片描述

JavaEE概念

在这里插入图片描述
什么是JavaEE

JavaEEJava Enterprise Edition),Java企业版,是一个用于企业级web开发(不需要使用控制台)平台。最早由Sun公司定制并发布,后由Oracle负责维护。
•	JavaEE平台规范了在开发企业级web应用中的技术标准。
•	在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JPA、JTA、JavaMail和JAF。
JavaEEJavaSE的对比,可以发现:

1. JavaEE要使用到浏览器、服务器(Tomcat)、数据库。
2. JavaEE程序不是通过main方法来运行,而是要放在服务器(Tomcat)来运行。
3. JavaEE要使用到Servlet和jsp两个东西,而且多了一个web.xml文件做配置。
4. JavaEE是将结果给打印到了浏览器上,而不是控制台上!
5. JavaEE可以让更多的人去访问它、使用它!

B/S架构:浏览器和服务器架构
B/S架构和C/S架构的定义和区别(不同点)

网络通信标准


1. 介绍
 在计算机网络中进行数据传输、文件共享必须遵守特定的标准。
 如果网络通信时只有一个标准,将会导致内容过多,增加了复杂性。所以为了简化网络设计的复杂性,通信标准采用分层结构。


 通过分层结构可以带来:
 1. 灵活度高。只要保证各层之间的接口不变,每层内容可以灵活修改
 2. 实现简单。分层后每层只专注于所在层功能,不需要关心其他层的内容。因为把一个大的功能分成了几层,所以每层实现起来更加简单

在这里插入图片描述
OSI七层模型及各层功能概述
在这里插入图片描述
在这里插入图片描述
太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

IP协议

ipv6

ipv4

端口

url

TCP协议

三次握手 & 四次挥手

TCP三次握手和四次挥手最通俗解释说明案例

三次握手:

形象直观的的描述:

这个过程中总共有四个动作,
1.你招手
2.妹子点头微笑
3.妹子招手
4.你点头微笑

其中妹子连续进行了两个动作,先是点头微笑(回复对方),然后再次招手(寻求确认),实际上我们可以将这两个动作合成一个动作,招手的同时点头和微笑(syn+ack)。于是这四个动作就简化成了三个动作。

1.你招手
2.妹子点头微笑并招手
3.你点头微笑

这就是三次握手的本质,中间的一次动作是两个动作的合并。通过这个案例,不知你对TCP三次握手,有没有进一步的理解。

握手完就可以开始数据传输了。

三次握手:
在这里插入图片描述
四次挥手:
在这里插入图片描述

❀TCP/IP协议面试题总结❀

网页从输入url到页面加载发生了什么⭐⭐

1.DNS解析
2.TCP连接
3.发送HTTP请求
4.服务器处理请求并返回HTTP报文
5.浏览器解析并渲染页面————>1.解析文档构建dom树。2.构建渲染树。3.布局与绘制渲染树。
6.连接结束

HTT

P 协议(超文本传输协议)

浏览器与服务器之间发送数据的时候,是要有格式的,是双方约定好的格式。这样双方才能认识对方发送的数据!
这个格式我们称之为协议(在互联网中主机与主机之间进行访问沟通都需要使用特定的协议),
这里我们访问的是Tomcat,想访问Tomcat,就必须知道http协议!
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, 
HTTP是万维网(WWW:World Wide Web)的数据通信的基础。
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应

在这里插入图片描述

TCP和UDP的区别

在这里插入图片描述

HTTP协议特点

•	支持客户端/服务器模式(B/S)
•	简单快速
•	灵活(传输的数据类型多样)
•	短链接是指每次请求响应完成后,连接会自动断开。从http1.1开始,我们使用的是长连接,长连接是每次请求响应完成后,连接会保持一小段的存活时间,供之后的请求使用。长连接要比短连接的效率高!
•	单向性 服务端永远是被动的等待客户端(浏览器)的请求。
•	无状态 无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,用户体验度也不好。为了解决HTTP协议无状态,于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session

url和uri区别

URL(Uniform Resource Location统一资源定位符),可以帮助我们唯一定位互联网上的某一个资源,相当于是互联网资源的身份证号。URL由五个元素组成:
http://192.168.26.106:8080/index.jsp?id=1
•	传送协议
•	域名或者IP地址
•	端口号(以数字方式表示,若为HTTP的默认值“:80”可省略)
•	请求资源路径
•	传递数据(在URL中传递数据是以key=value的结构进行数据绑定,以“?”字符为起点,每个参数以“&”隔开通常以UTF8的URL编码,避开字符冲突的问题)
URI:(Uniform Resource Identifier),
统一资源标识符,是一个用于标识某一互联网资源名称的字符串。

URI是一个特别抽象的概念,

URI包含了URL  

在Java中,当获取请求URI时,常是一级路径/二级路径。
URI,Uniform Resource Identifier,统一资源标识符。 

URL,Uniform Resource Location,统一资源定位符。 URI 简单来理解就是标识/定义了一个资源,而 URL 在定义/标识资源的同时还需要描述如何访问到该资源。可以认为 URL 是 URI 的一个子集。一个URI可以包含多个URL.

HTTP协议的请求

http协议就是用来规范请求与响应的数据格式的。
Request 消息分为3部分:
•	第一部分叫Request line 请求行
•	第二部分叫Request header 请求头
•	第三部分是Request body 请求体

请求方式

GET和 POST区别
• GET 向指定的资源发出“显示”请求。 GET请求中会将请求中传递的数据包含在URL中并在浏览器的地址栏中显示。 GET请求传递数据时要求数据必须是ASCII字符。 GET请求可以被浏览器缓存。
• POST 向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。 数据被包含在请求体中。 POST请求传递数据时,数据可以是ASCII字符也可以是字节型数据,默认为字符型。 POST请求默认情况下不会被浏览器所缓存。
在这里插入图片描述

HTTP状态码

在这里插入图片描述

服务器介绍及Tomcat的使用

安装与配置

Tomcat目录结构与介绍

• bin:用来存放Tomcat服务器的可执行程序,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
• conf:用来存放Tomcat服务器的配置文件
• lib:用来存放Tomcat服务器的jar包
• logs:用来存放Tomcat服务器运行时输出的日志信息
• temp:用来存放Tomcat服务器运行时产生的临时数据
• webapps:用来存放Tomcat服务器部署的工程
• work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码和编译后的文件

Tomcat启动与关闭

Tomcat的启动与关闭需要执行bin目录中的命令脚本。 注意: 如果启动时闪退,是因为JDK的环境变量配置不规范,需要重新配置。
Tomcat启动 运行startup.bat文件。
Tomcat关闭 运行shutdown.bat文件或者直接关闭掉启动窗口(不推荐)。
访问Tomcat 访问Tomcat的URL格式:http://ip:port 访问本机Tomcat的URL格式:http://localhost:8080

Tomcat配置文件介绍

Tomcat 的配置文件由4个xml组成,在conf文件夹,分别是 context.xml、web.xml、server.xml、tomcat-users.xml
每个文件都有自己的功能与配置方法。
context.xml context.xml 是 Tomcat 公用的环境配置。 Tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。
web.xml Web应用程序描述文件,都是关于是Web应用程序的配置文件。所有Web应用的 web.xml 文件的父文件。
server.xml 是 tomcat 服务器的核心配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件(pojo对象),通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。
tomcat-users.xml 配置访问Tomcat的用户以及角色的配置文件。

Servlet

ServletServer applet)是运行在服务端的一个小程序(容器)
•	Servlet指的是一个接口规范,具体的体现为接口及其接口的实现类。该接口的名字就是ServletServlet的作用:接收客户端请求并处理,将处理的结果响应给客户的容器
•	ServletJavaWeb开发的三大组件之一(另外两个是过滤器filter与监听器listener)

第一个Servlet程序

1. 编写Servlet的步骤

1.	自定义一个类,继承HttpServlet
2.	重写service方法(写的就是业务处理的代码)
3.	在web.xml中对Servlet进行配置

2. 创建JavaWeb项目

在这里插入图片描述

3、web项目目录结构简单介绍

在这里插入图片描述

4、编写Servlet代码

创建一个包:com.jf.controller
编写一个类HelloServlet继承HttpServlet,并重写service方法
在这里插入图片描述

5、配置Servlet

web.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--xml:可扩展的标记语言,从html引申出来的一种新的文本格式-->
    <!--其作用是自定义配置,或者传输数据时使用-->


    <!--向tomcat注册servlet容器-->
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.jf.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--
            servlet-name:这个servletname必须和上面的容器名字一致 否则它就报错
            url-pattern: 是url的映射路径,实际就是在网页地址栏中输入的uri
            url-pattern:标签内的uri名字 我们可以自己随意定义,定义了客户端访问该servlet容器的URI
                ss*123_: 不要这么起名字   没这么干的 不符合咱们的命名规则
            servlet-name 与 url-pattern可以重名
            servlet-name: 可以随意起名字 但是也是要遵守命名规范
        -->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

6、启动服务器

在这里插入图片描述

在这里插入图片描述
访问具体网址
在这里插入图片描述
在这里插入图片描述

Servlet的使用

1. Tomcat服务器在IDEA中的配置介绍

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

1.	update resources:表示当你是修改了静态资源,比如HTML、css等,就可以使用它来启动
2.	update classes and resources:对类的修改使用它不生效,所以不建议使用
3.	Redeploy:重部署,这个适合于你修改了配置文件、修改了代码,可以重新部署项目到服务器
4.	restart server:重启服务器,当你修改了web.xml,最好重启服务器

2、Servlet在Tomcat中运行的原理

1.启动Tomcat服务器(以下动作只在服务器启动的时候执行):

1)解析web项目的web.xml文件
2)通过反射创建所有的Servlet对象

		反射创建
Class clazz=Class.forName(“包名+类名”);
Servlet servlet= clazz.newInstance();
将创建好的Servlet对象放到Map集合中:
key是web.xml配置文件中的映射路径(url-pattern)
value是Servlet对象

2.Tomcat服务器接收请求

 请求地址: http://localhost:8080/demo/HelloServlet

3.Tomcat服务器解析请求:

 Tomcat服务器解析请求后,会诞生两个对象分别为:  HttpServletRequest对象:存储此次请求的所有相关信息(行、头、体),每次请求重新创建  HttpServletResponse对象:存储了此次请求的响应流对象,每次请求重新创建

4.Tomcat服务器查找请求的资源

Tomcat服务器根据请求地址从map集合中获取要调用的Servlet对象  Servlet servlet=map.get(/HelloServlet);

5.Tomcat服务器调用Servlet对象的过程:

Class clazz= servlet.getClass();
Method method = clazz.getMethod(“service”,HttpServletRequest.class,HttpServletResponse.class);
method.invoke(servlet,request,response);

注意: 该流程由Tomcat底层接收请求后自动执行,我们是看不到的,我们需要做的是将实现了Servlet接口的代码提前放到Tomcat服务器中,这样请求被接收后就可以反射调用了。

3、Servlet案例开发中的问题处理

1、默认欢迎页的设置(掌握)
默认欢迎页就是指,浏览器发出的请求路径中没有指定具体的访问资源时,默认就会访问的页面。
在Tomcat中的conf/web.xml中配置了全局的几个默认欢迎页。

欢迎页可以配置多个,匹配优先级自上而下。

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

一般在我们项目中要设置默认欢迎页的话,在自己项目的web.xml中设置即可!不要改Tomcat中的conf/web.xml进行设置。

<welcome-file-list>
    <welcome-file>hello.html</welcome-file>
</welcome-file-list>

4. Servlet的生命周期

我们知道,浏览器发起请求后达到Tomcat服务器;
服务器会解析请求信息得到HttpServletRequest和HttpServletResponse两个对象;
然后服务器再通过反射去调用Servlet的service方法去处理请求。

4.1 问题1:Servlet对象创建、初始化并使用完后会销毁吗?

显然,Servlet对象在创建、初始化并使用后不应该销毁。如果使用完(请求处理完)就销毁,那么下次过来请求又得去创建Servlet对象,这样效率并不高!!
我们自始至终都使用同一个Servlet对象去处理请求,如果同时有10个请求过来访问Tomcat服务器,服务器会创建10个线程来处理请求,因为service方法不涉及到全局变量的修改操作,所以也不会有线程安全问题的。

4.2 问题2:Servlet对象会被创建及初始化几次?

由问题1,我们可以了解到,Servlet对象只会被创建及初始化一次。之后会驻留在内存当中。

4.3 问题3:Servlet对象是在什么时候创建及初始化的?

Servlet的创建与初始化的时机有两个:
1. 延迟加载 : Servlet在第一次被浏览器访问的时候创建与初始化的(目前我们的代码用的就是这种方式,默认就是这种)
2. 预加载 : Servlet在启动服务器的时候被创建与初始化的(该方式需要做一些配置,告诉Tomcat服务器在启动的时候就创建Servlet对象)

4.4 问题4:Servlet对象什么时候销毁?

Servlet对象是由Tomcat服务器创建的,之后就一直驻留在内存中处理请求。直到服务器停止后,Servlet才会被销毁!

4.5 Servlet生命周期总结
  1. 没有配置load-on-startup的情况:

在这里插入图片描述2. 配置了load-on-startup的情况:
服务器启动的时候就会执行:构造方法,然后执行初始化方法。
之后有请求过来,就直接走service方法进行处理。
服务器停止的时候,执行销毁方法。

5. Servlet使用流程总结

1.	打开IDEA
2.	在IDEA中创建一个Java Enterprise项目
3.	在项目的src目录下创建一个com.jf.controller包,在包中创建自己的类继承HttpServlet
4.	重写service方法,在service方法中写的就是处理请求的业务逻辑代码
5.	在web.xml中配置映射关系
6.	启动tomcat服务器
7.	在浏览器输入路径访问Servlet

6. web.xml配置Servlet的4种方式

 <!--        用来做映射-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
        <!--
            1. url-pattern的值是 /字符 的方式
              比如  /UserServlet,那访问该Servlet的时候url这么写:http://ip:port/项目名/UserServlet
        -->
        <url-pattern>/UserServlet</url-pattern>

        <!--
            2. url-pattern的值是 *.do的方式,
              比如 *.do  那访问该Servlet的时候url这么写:http://ip:port/项目名/xxx.do 只要以.do结尾就行
        -->
        <url-pattern>*.do</url-pattern>

        <!--
            3. url-pattern的值是 多级目录的方式
              比如 /user/UserServlet,那访问该Servlet的时候url这么写:http://ip:port/项目名/user/UserServlet
        -->
        <url-pattern>/user/UserServlet</url-pattern>

        <!--
            4. url-pattern的值是 /*,表示拦截所有请求
               那随便写个访问到该项目的url地址,都会访问该Servlet
        -->
        <url-pattern>/*</url-pattern>

        <!--
            5. url-pattern的值是 /,表示拦截所有请求,但是不拦截 jsp文件
               除了访问jsp外,访问其他的资源都会访问到该Servlet
        -->
        <url-pattern>/</url-pattern>

        <!--
            说明:一个Servlet可以配置多个url-pattern,但是多个Servlet不能配置相同的url-pattern,
            这样的话请求过来后tomcat不知道该调用哪个Servlet进行处理
        -->
    </servlet-mapping>

Servlet的继承结构

1. 概述

• tomcat服务器是支持Servlet规范的。我们写的代码要想被服务器调用到,也必须遵守Servlet规范
• 在Java中提到规范,其实就是接口,及接口的一系列实现类
• 之前我们写的Servlet类并没有去直接实现Servlet接口,是因为该接口中方法较多,而我们一般只关注service方法,而Servlet接口有它的一系列实现类,我们继承这些实现类即可,也就相当于间接的实现了Servlet接口

2. 继承结构体系

在这里插入图片描述

在这里插入图片描述

请求(HttpServletRequest)

1. service方法的再次强调

1.1 service方法的作用
在service方法中编写处理请求的业务逻辑代码,浏览器发送请求后由tomcat服务器自动调用执行。

1.2 service方法的方法体

 service方法中写业务逻辑代码的话,大概是如下三步:
1.	获取请求数据
2.	处理请求数据
3.	响应结果

2. HttpServletRequest对象获取请求数据

request对象的特点
		1.	在tomcat服务器接收请求后,对请求进行解析后创建的
		2.	每次请求,tomcat服务器都会重新创建
		3.	request对象存储了此次请求的所有数据(http协议中的请求行、头、体)
 request对象的使用
		1.	request对象获取请求行数据
		2.	request对象获取请求头数据
		3.	request对象获取请求体数据
		4.	request对象获取其他数据
public class UserServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求行信息
        //获取请求方式
        String method = req.getMethod();
        System.out.println("请求方式是:" + method);

        //获取请求的URI
        String uri = req.getRequestURI();
        System.out.println("请求的URI是:" + uri);

        //获取请求协议
        String scheme = req.getScheme();
        System.out.println("请求的协议是:" + scheme);

        //获取请求头信息,根据键名去获取
        //获取请求的主机信息
        String host = req.getHeader("host");
        System.out.println("请求的主机信息是:" + host);

        //获取浏览器信息
        String userAgent = req.getHeader("User-Agent");
        System.out.println("用户的浏览器信息是:" + userAgent);

        System.out.println("================所有请求头信息==================");
        //获取所有的请求头信息
        //拿到所有请求头的名字
        Enumeration<String> headerNames = req.getHeaderNames();
        while(headerNames.hasMoreElements()){
            String key = headerNames.nextElement();
            String value = req.getHeader(key);
            System.out.println(key + ":" + value);
        }

        //获取请求体数据, getParameter()方法的参数必须和请求中的参数名一致!!!
        String name = req.getParameter("name");
        System.out.println("名字是:" + name);

        String age = req.getParameter("age");
        System.out.println("年龄是:" + age);

        //getParameterValues()方法可以获取多个参数名一样的数据,会得到一个数组
        String[] hobbies = req.getParameterValues("hobby");
        System.out.println("爱好是:" + Arrays.toString(hobbies));

        //获取其他数据
        //获取项目路径, 格式是 /项目名
        String contextPath = req.getContextPath();
        System.out.println("项目路径是:" + contextPath);

        //获取请求的url地址
        String url = req.getRequestURL().toString();
        System.out.println("请求的url地址是:" + url);

        //获取服务器的ip
        String serverName = req.getServerName();
        System.out.println("服务器的ip地址是:" + serverName);

        //获取服务器的端口
        int serverPort = req.getServerPort();
        System.out.println("服务器的端口是:" + serverPort);
    }
}

登录案例

新建表

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
09-SSH企业案例_CRM-客户管理系统(6天) day01_SVN安装_CRM注册页面 day02_登录_客户管理模块 day03_客户管理&联系人管理 day04_联系人管理 day05_CRM权限拦截器_SSH纯注解整合 day06_Easyui&列表展示 10-Oracle数据库(学习4天) Oracle_day01,安装_函数查询and条件查询 Oracle_day02,多表查询_子查询_集合运算 Oracle_day03,DDL,DML,视图,PLSQL编程 Oracle_day04,游标,存储过程,存储函数,触发器 11-Maven(学习2天) Maven_day01._Maven安装.Maven整合SSH Maven_day02.Maven整合SSH.私服安装配置 12-SSH企业案例2_ERP_项目整合(学习15天) ERP_day01_ERP简介,软件设局.环境搭建.部门管理列表查询 ERP_day02_Dep部门表的_条件查询,分页,增加,删除 ERP_day03_Dep代码抽取_代码生成器_员工管理完善_商品管理完善 ERP_day04_登录与密码管理_菜单动态读取_静态页面传参 ERP_day05_采购新增_订单_订单详细实现 ERP_day06_采购查询_审核_确认_入库 ERP_day07_销售查询_出库_确认出库_挂菜单 ERP_day08_按类型销售饼状图_按年份销售趋势图 ERP_day09JavaMail发送预警邮件_使用Quartz任务调度框架_自动发送邮件 ERP_day10_PIO框架应用_订单导入_导出_HSSF读写Excel表格档案 ERP_day11_CXF框架_红日物流BOS系统_ERP物流信息管理 ERP_day12_Easyui--Thee插件_权限管理_权限菜单_用户角色权限 ERP_day14_Shoir颗粒认证-redis缓存机制提升软件性能_svn协作开发 ERP_day15项目展示 13-Mybatis(学习2天) MyBatis_day01;mybatis简介--入门 MyBatis_day02.输入输出映射.动态sql-关联查询.myBatis整合spring,逆向工程 14-SpringMVC(学习2天) SpringMvc_day01.spring入门-springMVC三大核心器(视图解析器,处理器映射器and适配器).springMvc整合myBatis SpringMvc_day02高级参数.上传图片.JSON数据交互.拦截器 15-SSM企业案例-客户管理系统(学习1天) SpringMvc_SSM综合练习.分页.增删改查 16-SSM分布式案例-互联网商城(学习13天) day01_电商介绍--互联网术语-SOA-分布式-集群介绍-环境配置-框架搭建 day02_Dubbo介绍_dubbo框架整合_商品列表查询实现_分页_逆向工程 day03_Git day04_门户网站介绍&商城首页搭建&内容系统创建&CMS实现 day05_首页轮播图显示实现,Redis环境搭建,Redis实现缓存 day06_solr索引库搭建&solr搜索功能实现&图片显示问题解决 day07_solr集群搭建_全局异常处理 day08_activeMQ介绍_搭建_解决同步索引库问题 day09_FreeMark入门_静态化页面标签介绍_静态化页面实现 day10_Nginx代理详解..单点登录系统工程搭建_接口文档讲解 day11_单点登录系统实现_用户名回显_cookie跨域问题详解 day12 day13 17品优购电商系统开发(学习20天) 1分布式框架-Dubbox 2品牌管理 3规格及模板管理 4安全框架与商家入驻审核 5商品管理1 6商品管理2 7商品管理3 8广告管理与缓存解决方案 9搜索解决方案-Solr-1 10搜索解决方案-Solr-2 11搜索解决方案-Solr-3 12网页静态化解决方案-Freemarker 13消息中间件解决方案JMS 14SpringBoot框架与短信解决方案 15单点登录解决方案CAS 16购物车解决方案 17跨域解决方案与提交订单 18微信扫码支付 19秒杀解决方案 20品优购系统业务分析 1集群概述 2Zookeeper集群 2品优购电商系统部署 3SolrCloud集群 4RedisCluster集群 5开源数据库中间件-MyCat 6Nginx的安装与启动 7Nginx静态网站部署 8
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、Unix基础知识....7 三、Unix常用命令....8 四、 文件系统权限.21 五、软硬连接的区别..........................22 六、范例程序...........22 七、网络基本命令...26 八、Shell scripts:脚本编程.................28 Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 异常.............74 第八章 图形用户接口:GUI.............78 第十一章 事件处理模型....................79 第十三章 线程(Threads)....................80 第十四章 标准I/O流与文件.............84 第十五章 网络编程.89 Tiger学习笔记..................94 第一章 Java5.0新特性.......................94 第二章 基础知识.....96 第三章 泛型...........101 第四章 Annotation.102 XML学习笔记...............106 XML前言...............106 第一章 XML Overview....................107 第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................115 第五章 XML解析...................119 Oracle学习笔记...............121 前言....................................121 第一章 Selecting Rows.....................124 第二章 Limiting Selected Rows.......127 第三章 Single Row Functions..........127 第四章 Displaying Data from Multiple Tables......................130 第五章 Group Function(组函数)......130 第六章 Sub queries(子查询)............132 第七章 指定运行时变量..................133 第八章 数据模型和数据库设计......134 第九章 Creating Tables(创建表)......135 第十章 Oracle Data Dictionary(数据字典表)........................138 第十一章 Manipulating Data(对表的操作)140 第十二章 Altering Tables and Constraints..142 第十三章 Creating Sequences..........145 第十四章 Creating View(创建视图)146 第十五章 Creating Indexes(创建索引).....148 第十六章 权限的授予与收回..........149 第十七章 Summary..........................151 :::::::::::::: 精点课上实例::::::::::::......152 JDBC学习笔记...............165 第一章 JDBC Overview(JDBC综述).........166 第二章 Using JDBC(JDBC的使用)167 第四章 JDBC Advanced Topics(JDBC高级特性)................170 第五章 JDBC2.0 Core Features(JDBC2.0 新特性)...............171 第六章 JDBC2.0 Standard Extensions........174 第七章 Row Set Implementation......176 第三章 OOAD and Database Design..........176 第八章 JDBC and Application Architecture..........................178 Hibernate学习笔记..........180 第一章 Hibernate入门.....................180 第二章 对象/关系映射基础.............183 第三章 关联关系映射......................185 第四章 操纵持久化对象..................190 第五章 事务控制...191 第六章 高级映射...192 第七章 高级查询...196 HTML&java; script学习笔记.....................198 HTML: 超文本标记语言.......................198 1、html简介...........198 2、动态网页开发技术......................199 3、html的基本构成..........................199 4、HTTP-EQUIV...200 5、html的标签.......202 6、CSS...................205 JavaScript...................206 一、JS概述............206 二、JS的基础语法208 三、JS常用内置对象(11种)............209 四、DHTML(动态HTML对象)......210 五、JavaScirpt高级技巧..................210 Servlet学习笔记..............212 Servlet前言.............212 第一章 Servlet Basic ........................214 第二章 Form表单.219 第三章 Servlets生命周期................222 第四章 资源访问 ......................225 第五章 状态跟踪...230 第六章 过滤器 ...234 第七章 Web Application Life Cycle Events ........................235 JSP学习笔记..................236 JSP前言.................236 第一章 Introduction to JSP...............238 第二章 Creating,Deploying and Executing a JSP..................239 第三章 JSP Scriplets,Directives and Action .................240 第四章 Working with Reusable Components(重用的组件)..241 第五章 Handling Exceptions(异常的处理)243 第六章 Advanced Topics(高级主题)..........243 第七章 Custom Tags(自定义标记) .246 第八章 EL元素(Expression Language)......247 第九章 Java Server Page Tag Libraries(JSTL)......................248 Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data Transfer & Type Converter..273 第五章 Validation(数据格式验证)..276 第六章 Internationalization(I18N:国际化)..........................283 struts1.x...283 一、开发struts1应用的基本步骤...283 二、Struts的工作流程......................284 三、struts-config.xml配置文件中主要的元素和属性.........286 四、RequestProccessor.....................287 五、Struts1的执行流程....................289 六、struts1的高级部分....................290 七、struts1中的国际化处理............291 Ajax学习笔记.................291 Ajax前言...............291 Ajax正文 ......292 Ajax在线聊天室的实现...................294 OOAD & UML学习笔记295 第一章 OOAD概述.........................295 第二章 UML..........299 第三章 需求与初始化分析..............300 第四章 分析阶段的静态建模..........302 第五章 分析阶段的动态建模..........306 第六章 设计原则与模式..................307 EJB学习笔记..................314 EJB前言................314 EJB2.0.....315 第一章 EJB介绍 .315 第二章 First EJB....318 第三章 EJB原理.320 第四章 Session Bean(会话Bean).....322 第五章 消息驱动Bean(MDB).........327 EJB3.0.....329 第一章 EJB3.0 Foundation...............329 第二章 Session Bean........................330 第三章 消息驱动Bean(MDB).........332 第四章 JPA(Java Persistence API)...332 第五章 Advanced Persistence Concepts(JPA-高级持久化)..336 第六章 事务...........341 Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问..........353 CVS学习笔记.................355 PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 PL/SQL程序结构................359 第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章 PL/SQL游标........................370 第六章 PL/SQL异常........................373 第七章 PL/SQL存储过程................374 第八章 PL/SQL包.380 第九章 PL/SQL触发器....................382 第十章 动态PL/SQL........................383 ant学习笔记...................387 Web Service学习笔记.....388

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值