欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

servlet的概述

程序员文章站 2022-05-16 09:36:45
> weixin_40843624... > servlet --> servlet 的介绍 1.servlet的概述 什么是servle...

    servlet 的介绍

    1.servlet的概述

    什么是servlet?
    servlet就是一个类似于连接的桥梁的作用就是将与应用程序之间进行连接

    2.java 服务器的介绍

    一般的java服务器有
    (1)免费

    tomcat(免费的 apache)
    jetty(免费的 eclipse)
    

    (2)收费

    jboss (jboss)
    weblogic (bea, oracle)
    websphere (ibm)
    

    3.tomcat服务器的介绍

    3.1tomcat的介绍

    3.2tomcat的文件的目录

    bin  可执行脚本目录
    conf 配置文件目录
    logs 日志目录
    webapps  应用程序目录
    

    4.tomcat的启动与停止的方法

    在启动tomcat服务器之前需要有以下的前提条件
    (1)在启动tomcat之前首先要确保jdk是否安装好了
    (2)确保自己的java_home的环境变量是否已经配置好了
    

    4.1tomcat的启动的方法

    可以在tomcat的bin目录的里面找到一个startup.bat (注意startup.sh是在linux的环境下的运行方式)的文件,点击就可以运行

    4.2tomcat的停止的方式

    一共有两种的方式
    (1)就是在tomcat的bin目录下找到一个shutdown.bat(shutdown.sh 为linux下的关闭方式)的文件来点击关闭
    (2)另一种就是在服务器的窗口来按住ctrl+c 键 ,就可以停止服务器

    4.3检验自己的tomcat是否运行成功

    在浏览器上输入https://localhost:8080 就会出现tocat的服务器的页面,此时证明tomcat的服务运行成功
    8080:端口号(如果端口号为80的话就不用输入80)
    ### 4.4 修改自己的端口号
    在conf/server.xml 文件中搜索8080 找到后修改为其它端口号即可
    ## 5. 在idea里面来配置tomcat
    ## 6.tomcat的程序的举例
    编写的一般的执行的三个步骤
    第一步为继承一个httpservlet的类
    第二步为使用注解@webservlet(urlpatterns=”/浏览器的访问路径”)
    第三步为重写一个service的方法

    “`java
    @webservlet(urlpatterns = “/hello”)
    public class servlet1 extends httpservlet {
    // servletrequest 请求
    // servletresponse 响应

    @override
    protected void service(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception {
        system.out.println("hello world");
    

    // 设置响应时候的字符的编码的格式为utf-8,因为https的协议会将汉子认为是特殊字符,所以就会出现乱码的问题
    resp.setcontenttype(“text/html;charset=utf-8”);
    // 获取html网页的字符流,并将html的代码输入进去
    resp.getwriter().println(“你好,世界“);
    }
    }
    “`
    注意:浏览器的访问的路径(urlpattern=”浏览器的访问的路径”;)一定不要出现重复
    ## 7. 浏览器发送请求并获取
    发送get请求的一般的格式为‘
    ?参数名1=参数值1&参数名2=参数值2
    举例

    @webservlet(urlpatterns = "/hello1")
    public class servlet2 extends httpservlet {
        @override
        protected void service(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception {
    //        获取浏览器发送的请求
    //        设置获取的编码格式
            req.setcharacterencoding("utf-8");
            string name = req.getparameter("name");
            string age=req.getparameter("age");
            system.out.println(name+":"+age);
    //        响应
            resp.setcontenttype("text/html;charset=utf-8");
            resp.getwriter().println("
    hello world"); } }

    ## 8.请求
    请求一般有post请求和get请求
    ### 8.1post请求
    post请求的特点是不会将属性名和属性的值显示出来,但是这并不是意味着这个post的请求是安全的,还是可以用一些监测的工具来将其获取,但是post请求的发送的数据是没有限制的,post对应的是增删改

    8.2 get请求

    get请求会将这些属性名显示出来不适合来发送敏感信息(通过浏览器来发送请求)get发送的数据的数量是有限制的,get是获取信息

    http 不安全
    https 安全
    所以如果说是要将一个信息安全的发送就需要post的请求和https来共同完成

    8.3乱码的问题

    对于post请求的乱码的问题可以有如下的解决方法
    req.setcharacterencoding(“utf-8”);
    而对于get方法的问题的话,tomcat8 已经解决了这个问题,会按照utf-8的编码的格式来进行解码,不需要来额外的处理
    tomcat 7, tomcat 6 … 对get请求中的中文还需要特殊处理
    ## 9.servlet的生命的周期
    servlet可以分为构造 初始化,service,和销毁的阶段
    1) 构造方法首先执行(只执行一次)
    2) 初始化方法init (只执行一次)
    3) 服务方法 service (反复被执行)来一次请求执行一次
    4) 销毁方法 destroy (只执行一次)在服务器停止前,或重新部署时

    10.doget与dopost与service的区别

    doget只能处理一个get的请求
    dopost只能处理post的请求
    service是两种的请求都可以处理

    jsp就是与html差不多就是多了一行标签

    <%@ page contenttype="text/html;charset=utf-8" %>

    上面的代码被称为一个page的指令,指明了这个jsp的网页的编码格式和类型
    1. 指令: <%@ 指令名 %>
    2. 脚本: <% java代码 %>
    3. 表达式: <%= 表达式 %>
    把执行结果显示在页面上

    12.el表达式

    jsp的脚本和表达式虽然可以将一些java代码的内容获取并显示出来,但是还是过于繁琐,所以我们讲java代码与jsp分开,讲java代码的复杂的内容提前放到一个起好名字的作用域的里面然后再jsp上来获取
    el的表达式是将一个提前放入到作用域的复杂的内容来获取出来
    一般的格式为
    ${作用域的名字.属性的名称}
    pagecontext.setattribute(“名称”, object); // 把内容起一个名字放入作用域

    之后就可以通过el表达式
    ${pagescope.名称}

    el表达式可以通过
    ${对象.属性名} 但这里的属性名,依据是对象的get方法,而不是私有属性名
    把get方法中get去掉(或把is方法的is去掉),剩余的单词首字母小写,作为对象的属性名,例如

    getname() ==> name
    getusername() ==> username
    gethelloworld() ==> helloworld
    isclose() ==> close

    13. foreach

    
        ${临时变量名}
    

    要遍历的集合 必须使用${} 从作用域获取

    14. if

    内容

    model 模型 ==> 数据(例如从数据库查询出来的list集合, 里面包含java对象)
    view 视图 ==> 数据的展现形式 (jsp就是一种视图技术)
    controller 控制器 ==> 把模型和视图联系起来 (servlet 充当控制器作用)

    由servlet器查询数据,把数据放入作用域,跳转至jsp视图
    jsp视图从作用域中获取数据,并展示

    注意: 服务器常见的错误类型
    500 internal server error 服务器内部错误,由于应用程序自己没有正确处理异常,异常抛给了tomcat,这时就会出现500
    404 not found 资源未找到错误,发生于要访问的资源不存在(资源可能是servlet, jsp, html)
    405 method not allowed 方法不支持,
    当没有覆盖doget但发送了get请求时
    当没有覆盖dopost但发送了post请求时
    200 ok 表示这次请求正常,没有错误
    304 这个文件没有修改,请浏览器使用上一次缓存的文件

    这些数字称为响应状态码