zoukankan      html  css  js  c++  java
  • 创建servlet程序知识点详解---servlet-day01

    方法调用完后,其中的所有局部变量都会消失

    ###网络架构

    -CS:Client Server  客户端服务器

    特点:每种平台都需要开发相对应的app, 开发成本高  功能升级需要下载最新的客户端,用户体验高(因为部分数据在本地保存了,为了加载速度快)

    可以利用客户端设备的各种传感器丰富功能

    -BS:Browser Server 浏览器服务器

    特点:跨平台,功能升级比较方便,用户体验稍差(所有数据都来自服务器)

    两种架构工作中都很常见,以后都会涉及到,工作时主要开发两种架构中的S(服务器)

    -服务器实际上就是一个高配置的电脑,通常内存8g以上

    cup---8核    硬盘---T级别(1T=1024G)

    1. 邮件服务器:安装了邮件服务软件的高配置电脑   功能:收发邮件

    2. ftp服务器:安装了ftp服务软件的高配置电脑  功能:共享文件,文件的上传下载

    3. 数据库服务器:安装了数据库软件(mysql,oracle,db2)的高配置电脑 功能: 数据的增删改查 crud

    4. web服务器:安装了web服务软件的高配置电脑 功能:提供复杂的数据和文件共享功能

    ###什么是web服务器(web容器)

        电脑中的任何资源(数据或文件) 被远程计算机访问,都需要有一个与之对应的网络通信程序,

        当有用户访问时,此程序负责建立网络连接,读取资源,并把资源返回给用户(数据传输),此程序负责底层的网络连接,处理http协议,

        使用此类型的程序,程序员只需要把精力放在具体的业务逻辑上即可

    ###web服务器

    apache http server

    iis

    nginx----俄罗斯

    tomcat可以当成一个简单的web服务器来用,是一个servlet容器,提供servlet运行环境,即提供网络相关的服务

    静态资源放到专业的web服务器上(比如iis...)

    如果需要计算,则交给servlet来处理

    ##常见的web服务器

    -websphere :是IBM公司产品,闭源收费

    -tomcat:Apache产品,开源免费,应用在中小型网站中

    -weblogic:Bea公司产品,闭源收费

    ###使用Tomcat服务器演示共享资源

    -window:找到tomcat的bin目录

    -linux:找到home/tomcat8

    终端中输入 chmod +x *.sh (作用:开启执行.sh批处理文件的权限) 

    终端中输入 ./startup.sh 显示 tomcat started则说明启动成功

    总结:使用tomcat服务器共享文件,一行代码都不用写,如果自己写webserver(web服务器)代码很多而且容易出错,所以以后工作时一般不会自己写web服务器

    都使用现成的web服务器

    -tomcat服务器提供了静态资源访问的能力

    ###查看本机ip

    - windows:ipconfig

    -linux: ifconfig

    ##静态资源和动态资源

    -静态资源:任何用户,任何时间访问的内容都一样,包括图片,html和各种文件

    -动态资源:不同用户会根据某些逻辑使用户显示的内容不一样的资源,通过各种计算生成的网页

    ##servlet介绍

    -为什么使用servlet

    因为web服务器(tomcat)本身只提供了静态资源访问的能力,而具体的业务中存在大量动态资源的需求,

    而servlet就是扩展web服务器动态资源访问能力的产物

    Tomcat相当于一个web容器,servlet属于web容器中的组件

    如果有注册请求,在web容器中就有相对应的注册servlet

    -注册请求的过程:

    1. 用户点击浏览器中的表单提交按钮

    2. 请求会到web服务器,web服务器会找到相对应的注册servlet

    3, 在servlet中 找到相对应的DAO,通过DAO代码把用户请求传递过来的数据保存到数据库中

    ###如何创建web工程

    ###如何创建servlet

    1.创建一个class 继承httpservlet

    2.编译

    3.打包并发布(把servlet交给tomcat)

      把编译好的servlet保存到webapps下面

      appname

           WEB-INF(此文件夹里面的资源不能直接访问)

            classes(.class文件)字节码文件

            lib(可选,存放第三方的jar包)    

            web.xml(部署描述文件  deployment description)----请求地址与servlet的对应关系---键值对

    4.部署

     将step3创建的文件夹拷贝到servlet容器上面

    注:可以使用jar命令将step3创建的文件夹压缩成.war结尾的文件,然后再拷贝

    5.运行tomcat容器

    ###如何创建servlet第一个程序  

    1.创建maven项目 把默认的jar改成war

    2.把package Explorer 改成 project Explorer

    3.在工程根目录的第一个文件上右键 点击最长的那个(默认工程中没有web.xml部署描述文件)

    生成web.xml

    4.在工程上右键properties选择target 设置部署的tomcat服务器

    5.创建HelloServlet 继承HttpServlet

    6.重写servie方法  并写返回数据的代码

    7.在web.xml中写servlet和url的映射关系

    8.工程上右键run as on server

    ###web.xml作用

    写请求地址与servlet的对应关系

    ###请求和响应对象

    -HttpServletRequest

     请求对象,用于获取请求传递过来的各种信息

    -HttpServletResponse

    响应对象,用于处理响应数据(服务器给客户端发送数据)

    ###在运行eclipse的web程序的时候一定要保证tomcat服务器是关闭的

    linux中的终端

    如果出问题检查以下几个地方

    1.FirstServlet类中是否继承了HttpServlet

    2.在web.xml中书写的类的完整名称是否正确

    3.是否指定了项目的运行环境

    ###常见的错误码

    -404: 找不到资源,意思是请求的地址没有对应的静态资源和动态资源

    原因:

      a.请求路径写错

      b.没有部署或者部署失败

    解决方案:检查请求地址,检查项目

    -500: 服务器内部代码错误,如空指针异常,下标越界,0作为被除数等任何运行时错误都会提示500

    原因:

      a.

      servlet没有严格按照规范来写

      比如, 没有继承httpservlet 

      又比如:servlet-name不一致,servlet-class写错等等

      b.

      代码写的不严谨

      比如:对用户填写的参数值没有做检查就做相应的转换

    -405:找不到处理方法

    原因:service方法没有正确override父类的方法

    http协议:

    ##Servlet执行的过程:

    在浏览器地址栏中输入请求地址回车发出请求,请求会先发送到web服务器(tomcat web容器),

    tomcat会先检查请求地址 请求的静态资源还是动态资源,

    如果静态资源直接把请求的资源文件返回给浏览器,

    如果不是静态资源,则会去web.xml中查找有没有和请求地址相对应的servlet,

    有的话则通过反射技术创建servlet对象,并且把请求相关信息封装在resquest对象中,把响应相关信息封装在response中,

    然后servlet创建完后调用servlet里面的service方法,并且把request和response传递到service中,service方法中写具体的业务逻辑,

    如果在web.xml中没有找到匹配的servlet,此时tomcat会给浏览器返回404错误,代表找不到资源

    ###浏览器和服务器请求响应流程图

    ###HTTP协议

    -什么是http协议

    是由w3c组织制定的一个网络应用层协议,规定了浏览器如何与web服务器之间通信,以及规定了通讯时的数据格式

    ####响应数据乱码

    -为什么出现乱码,因为输出响应数据默认使用的是iso8859-1 需要把此编码改成utf-8

  • 相关阅读:
    Docker镜像操作——Mongo安装
    Docker镜像操作——Tomcat安装
    《Google的软件测试之道》(2)
    《Google的软件测试之道》(3)
    Docker镜像操作——Sql Server安装(未成功)
    ASP.NET网站开发步骤
    Docker镜像操作——Oracle安装
    《Google的软件测试之道》(1)
    Docker镜像操作——Redis安装
    rfkill
  • 原文地址:https://www.cnblogs.com/smallwangmusk/p/8992570.html
Copyright © 2011-2022 走看看