杂记-1

一、数据库(MySQL)中字段的类型char与varchar的区别

         (1) varchar         内容超出指定长度后,其不能自动增长;若内容未达指定长度,则会自动缩减长度。
         (2) char              不管内容的长度是否达到指定长度,其长度始终为指定的长度。

二、JDBC中获取Connection对象

         (1)JDBC 中,在获取Connection连接时无法体现出来是否已获得驱动,只有在执行SQL语句才能体现出来。

三、HTTP简介

         (1)概述:

             超文本传输控制协议,应用层协议,定义了浏览器(也可以是别的程序)与web服务器之间通讯的过程与数据格式。

         (2)通讯的过程


                   1)浏览器向服务器发送建立连接的请求。
                   2) 浏览器先将请求数据打包,向服务器发送请求。
                   3) 服务器处理完请求,然后将数据打包,发送给浏览器。
                   4) 服务器发送完数据,并闭连接。

         (3)数据格式

                  1)请求数据包的数据格式(请求行(request line)、请求头部(header)、空行和请求数据四个部分组成)

                    1: 请求行(数据包中的第一行内容)
                         包含:
                              请求方式(get/post)   get
                              请求资源路径(端口号后的内容,比如/appname/Servlet)   请求路径 www.baidu.com
                              协议的类型及版本,如HTTP/1.1
                     2:若干消息头(消息头是由 w3c 定义的一些有特殊含义的键值对)
                              消息头的样式,比如: content-type= text/html;
                              服务器和浏览器都会遵守这些消息头的约定。
                              消息头一般由服务器戒者浏览器自动生成,但是也可以通过编程的方式生成
                      3:实体内容
                             如果请求方式是 post 方式,请求参数及值会放在这儿。
                             如果请求方式是 get 方式,请求参数的值是包含在请求资源路径里面。

                      4.请求报文的一般格式

                          

                    2)响应数据包的数据格式(状态行、消息报头、空行和响应正文四个部分组成)

                     1. 状态行
                            协议的类型及版本,如HTTP/1.1版本
                            状态码(状态码是一个数字,不同的数字代表不同的状态),详见:http://tool.oschina.net/commons?type=5
                            500: 系统错误(即程序代码有误)
                            404: 找不到资源(访问路径错误)
                            200: 正确
                            405:请求行中指定的请求方法不能被用于请求相应的资源。
                      2.若干消息头
                      3.实体内容,即服务器返回给浏览器的处理结果

                      4.响应报文的一般格式

                        

四、容器


    1.Web容器:可以部署多个Web应用程序的环境。
    2.Tomcat容器:是Java Servlet,Java Server Pages,Java Expression Language和Java WebSocket(Java EE)技术的开源实现。
    3.Servlet容器:全称Server applet,意为服务程序。主要作用是给上级容器(Tomcat)提供doGet()和doPost()等方法。其生命周期实例化、初始化、调用、销毁受控于Tomcat容器。
    4.Web容器负责管理和运行Servlet 
    5.容器对Servlet的支持包括 :
        1)通信支持 (将请求信息和响应信息封装成请求对象和响应对象)
        2)Servlet生命周期管理 (产生Servlet和销毁Servlet,并调用Servlet相关的方法)
        3)多线程支持 (线程创建、线程启动、线程运行、线程同步)
        4)JSP支持 
        5)处理安全性 
    简单的说:Web容器主要是用于给处于容器中的应用程序组件(Servlet、JSP)提供一个环境,使Servlet、JSP直接跟容器中的环境变量交互。
              这样,我们就可以把注意力放在用Servlet实现业务逻辑上,而不必关注其它系统问题。 
    6.配合
        1)客户端向Web服务器发起一个HTTP请求。
        2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理。如果请求的是Java Web组件(Servlet或者JSP),则移交给Web容器。
            Web容器可以在主机的同一个进程、不同的进程或其他的Web服务主机的进程中启动。
        3)Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。
        4)Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。Servlet处理完请求后把要返回的信息放入response对象返回到客户端。
        5)一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。
    7.Servlet的生命周期
        生命周期:实例化--->初始化--->就绪/调用--->销毁
        【阶段一: 实例化】(就是创建 Servlet 对象,调用构造器)  
            在如下两种情况下会进行对象实例化。
            第一种情况:
                当请求到达容器时,容器查找该 Servlet 对象是否存在,如果不存在,才会创建实例。
            第二种情况:
                容器在启动时,或者新部署了某个应用时,会检查web.xml当中,Servlet 是否有load-on-starup 配置。如果有,则会创建该 Servlet 实例。
                load-on-starup 参数值越小,优先级越高(最小值为 0,优先级最高)。
                

<Servlet>
      <Servlet-name>loginServlet</Servlet-name>
      <Servlet-class>com.gezhi.controller.LoginServlet</Servlet-class>
      <load-on-startup>1</load-on-startup>
</Servlet>

        【阶段二: 初始化】
            为 Servlet 分配资源,调用 init(ServletConfig config);
            方法config 对象可以用来访问 Servlet 的初始化参数。
            初始化参数是使用 init-param 在web.xml文件中进行参数的配置。
            init 可以 @override。
            

<init-param>
     <!--参数名-->
     <param-name>name</param-name>
     <!--参数值-->
     <param-value>zhangsan</param-value>
</init-param>


            ServletConfig读取初始化参数(二选一):
                2.1在Servlet的init(ServletConfig config)方法中进行获取值

String name = config.getInitParameter("name");


                2.2 在service()方法中先获取ServletConfig对象,再获取值

ServletConfig config = getServletConfig();
String add = config.getInitParameter("address");

        【阶段三: 就绪/调用】
            有请求到达容器,容器调用 Servlet 对象的 service()方法。 
            HttpServlet 的 service()方法,会依据请求方式来调用 doGet()或者 doPost()方法。
            但是,doGet()方法或者doPost()方法在默认情况下,会抛出异常,需要子类去 override。

        【阶段四: 销毁】
            容器依据自身的算法,将不再需要的 Servlet 对象删除掉。
            在删除之前,会调用 Servlet 对象的 destroy()方法。
            destroy()方法用于释放资源。
            在 Servlet 的整个生命周期当中,init,destroy 只会执行一次,而 service 方法会执行多次。

五、在JSP文件中使用c标签库时提示错误: Illegal text inside "c:choose" tag: "? ? ? ?..."

         错误:在jsp页面中使用c标签,报错    Illegal text inside "c:choose" tag: "? ? ? ?..."
         原因:该段c标签的的代码中含有不能识别的空格或tab键缩进产生的空格
         解决方法:去除该段c标签的的代码中的空格及tab键,然后再将先前的空格及tab键全部替换成空格

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值