动态资源技术JSP|Java与Html的美好相遇

简介: 前言JSP可以用简单易懂的方式表示为:Html+Java=JSP,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过t...

 image.gif

image.gif

前言

JSP可以用简单易懂的方式表示为:Html+Java=JSP,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

公众号:「浅羽的IT小屋」

1、会话

「生活中的会话:」

    • 商量个事嘛
    • 嘛事
    • 借点钱叭
    • 喂...喂...我这里信号不好...

    「软件中会话:」

      • 打开浏览器->访问应用->关闭浏览器
      • 用户打开一个浏览器,点击多个超链接,访问服务器多个Web资源,然后关闭浏览器,整个过程称之为一个会话

      「会话过程中要解决的一些问题:」

        • 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,服务器要想办法为每个用户保存这些数据
        • 例如:多个用户点击超链接通过一个servlet各自买了一个商品,服务器应该想办法把每一个用户购买的商品保存在各自的地方,以便于这些用户点结账servlet时,结账servlet可以得到用户各自购买的商品为用户结账

        「会话技术:」

          • Cookie:将数据保存在浏览器客户端的技术
          服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了

          image.gif

            • Session:将数据保存在服务端的技术
            服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务

            image.gif

            2、Cookie

            「原理:」

              • 服务端创建cookie对象
              • 发送cookie信息到浏览器
              例如,响应头中增加 Set-Cookie: name=zhangsan

              image.gif

                • 浏览器将得到的cookie信息保存在浏览器端
                • 通过浏览器下次访问web应用时,请求数据中会带上 cookie信息
                例如,请求头中 Cookie: name=zhangsan

                image.gif

                  • 服务器端收到浏览器发送的cookie信息

                  「使用:」

                  Cookie(String name, String value) 创建cookie对象的构造方法,value是字符串类型,不能使用中文
                  public String getName() 取得Cookie的名字
                  public String getValue() 取得Cookie的值
                  public void setValue(String newValue)设置Cookie的值
                  public void setMaxAge(int expiry)设置Cookie的最大保存时间,单位秒,即cookie的有效期,默认会话结束,cookie失效
                  public int getMaxAge()获取Cookies的有效期
                  public void setPath(String uri) 设置cookie的有效路径,比如把cookie的有效路径设置为"/aaa",那么浏览器访问"aaa"的web资源时,就会带上cookie
                  public String getPath() 获取cookie的有效路径

                  image.gif

                    • 代码演示:
                    public void cookie1(HttpServletRequest request, HttpServletResponse response){
                      //创建cookie对象
                        Cookie cookie = new Cookie("name", "zhangsan");
                        //如果有相同name值得cookie,后一个会替换前一个cookie内容
                        //Cookie cookie1 = new Cookie("name", "lisi");
                        //cookie中的name和value都是字符串类型
                        //Cookie cookie1 = new Cookie("age", "10");
                        //cookie中不能出现中文
                        //Cookie cookie1 = new Cookie("name", "张三");
                        //通过响应将cookie数据发送到浏览器端
                        response.addCookie(cookie);
                        //response.addCookie(cookie1);
                        //获取请求中的cookie数据
                        //ctrl + 1,Enter
                        //ctrl + 2, l
                        Cookie[] cookies = request.getCookies();
                        if(cookies != null){
                         for (Cookie cookie2 : cookies) {
                          // 获取cookie的name和对应的value
                          System.out.println(cookie2.getName());
                          System.out.println(cookie2.getValue());
                         }
                        }
                     }
                     public void cookieTime(HttpServletRequest request, HttpServletResponse response){
                      Cookie cookie = new Cookie("name", "zhangsan");
                      //设置cookie的过期时间
                      //单位秒
                    //  cookie.setMaxAge(60 * 60);
                      //可以实现删除已有的cookie
                    //  cookie.setMaxAge(0);
                      //过期时间:会话结束时
                      cookie.setMaxAge(-1);
                      response.addCookie(cookie);
                     }
                     public void cookiePath(HttpServletRequest request, HttpServletResponse response){
                      Cookie cookie = new Cookie("name", "lisi");
                      //路径不同,name相同,不会覆盖原来的cookie
                      //实现将cookie传给另一个web应用
                      //设置cookie的路径
                      cookie.setPath("/W08_3_T");
                      cookie.setMaxAge(60 * 60);
                      response.addCookie(cookie);
                     }public void cookie1(HttpServletRequest request, HttpServletResponse response){
                      //创建cookie对象
                        Cookie cookie = new Cookie("name", "zhangsan");
                        //如果有相同name值得cookie,后一个会替换前一个cookie内容
                        //Cookie cookie1 = new Cookie("name", "lisi");
                        //cookie中的name和value都是字符串类型
                        //Cookie cookie1 = new Cookie("age", "10");
                        //cookie中不能出现中文
                        //Cookie cookie1 = new Cookie("name", "张三");
                        //通过响应将cookie数据发送到浏览器端
                        response.addCookie(cookie);
                        //response.addCookie(cookie1);
                        //获取请求中的cookie数据
                        //ctrl + 1,Enter
                        //ctrl + 2, l
                        Cookie[] cookies = request.getCookies();
                        if(cookies != null){
                         for (Cookie cookie2 : cookies) {
                          // 获取cookie的name和对应的value
                          System.out.println(cookie2.getName());
                          System.out.println(cookie2.getValue());
                         }
                        }
                     }
                     public void cookieTime(HttpServletRequest request, HttpServletResponse response){
                      Cookie cookie = new Cookie("name", "zhangsan");
                      //设置cookie的过期时间
                      //单位秒
                    //  cookie.setMaxAge(60 * 60);
                      //可以实现删除已有的cookie
                    //  cookie.setMaxAge(0);
                      //过期时间:会话结束时
                      cookie.setMaxAge(-1);
                      response.addCookie(cookie);
                     }
                     public void cookiePath(HttpServletRequest request, HttpServletResponse response){
                      Cookie cookie = new Cookie("name", "lisi");
                      //路径不同,name相同,不会覆盖原来的cookie
                      //实现将cookie传给另一个web应用
                      //设置cookie的路径
                      cookie.setPath("/W08_3_T");
                      cookie.setMaxAge(60 * 60);
                      response.addCookie(cookie);
                     }例如,请求头中 Cookie: name=zhangsan

                    image.gif

                    「特点:」

                      • 一个cookie不能超过4k;
                      • 一个浏览器最多存300个cookie;
                      • 一个站点最多存20个cookie;
                      • cookie只能存字符串数据,不支持中文

                      3、Session

                      「简介:」

                        • 在Web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),可用于保存客户端用户的访问状态。
                        • 注意:一个浏览器独占一个session对象(默认情况下)
                        • Session依赖于cookie
                        • Session也属于域对象

                        「原理:」

                        1)访问应用时,如果创建session,每个session对象会分配一个id,称为JSESSIONID
                        2)服务器会将session的id以cookie的形式发送给浏览器端,浏览器端会存储该id
                        3)以后再访问应用时,浏览器将session的id发送给服务端
                        4)服务端收到session的id后,会根据id查找对应的session对象,如果没有找到,创建一个新的session对象

                        image.gif

                        「使用:」

                          • 常用方法:
                          request.getSession() 获取session对象,如果不存在,创建
                          public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内
                          public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。
                          public void removeAttribute(String name),删除指定名字的session属性  
                          public void invalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。
                          public String getId( ),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。
                          public void setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是秒,负数表明会话永不失效。
                          public int getMaxInActiveInterval(),获取会话的最大持续时间。

                          image.gif

                            • 代码演示:
                            //会根据session的id 查找服务端是否有对应的session对象,如果有,返回session对象;如果没有创建session对象
                              //创建session对象后,会将JSESSIONID以cookie的形式存在浏览器端
                              HttpSession session = request.getSession();
                              //session的id,唯一的   JSESSIONID
                              String id = session.getId();
                              System.out.println(id);
                              //默认情况下,JSESSIONID的过期时间是会话结束时,为了能正常访问session对象,需要手动将JSESSIONID存储到cookie中,并设置一个合适的过期时间
                              Cookie cookie = new Cookie("JSESSIONID", id);
                              cookie.setMaxAge(30 * 60);
                              response.addCookie(cookie);
                              //设置session的过期时间,单位秒,默认30分钟
                              session.setMaxInactiveInterval(10 * 60);
                              //向session域中存入数据
                              session.setAttribute("name", "张三");
                            -----------------------  
                            //根据JSESSIONID找session对象,如果存在,返回;如果不存在,返回null
                              HttpSession session = request.getSession(false);
                              if(session != null){
                               //获取域中的数据
                               System.out.println(session.getAttribute("name"));
                               //获取域中所有的属性值
                               //session.getAttributeNames();
                              }在Web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),可用于保存客户端用户的访问状态

                            image.gif

                              • 访问一个资源时,如果没有登录过,跳转到登录界面。如果登录过,在一定时间内,可以直接访问该资源

                              「禁用cookie的处理:」

                                • session依赖cookie,因为服务器需要根据sessionId,然后找到客户端的session对象,如果浏览器禁用了cookie,就需要对URL进行重写,这样服务器收到的请求就会带有sessionId
                                • 使用方法:
                                response.encodeURL(String url)

                                image.gif

                                  • 它会判断客户端浏览器是否禁用了cookie,如果禁用了,那么这个方法会在URL后面追加jsessionId,否则不会追加

                                  4、JSP

                                  「什么是JSP:」

                                    • Java Server Pages,它和servlet技术一样,是Java中用于开发动态Web资源的技术
                                    Jsp相当于Java + html
                                    JSP的最大的特点在于,写jsp就像在写html。相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。
                                    不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。
                                    原因在于,程序的数据通常要美化后再输出,让jsp既用java代码产生动态数据,又做美化会导致页面难以维护;让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
                                    因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

                                    image.gif

                                    「JSP执行过程:」

                                      • JSP本质上就是servlet
                                      • 第一次访问jsp文件,会在tomcat的work目录下生成对应的java文件,然后编译为字节码文件,执行jsp时,其实就是执行对应的class文件,并执行其中的相关方法
                                      • 再次访问该jsp时,直接从work下找到对应的class文件,并执行

                                      5、JSP语法

                                      「JSP脚本:」

                                      <% 
                                      Java语句
                                      %>
                                      注意:JSP脚本中只能出现java代码,不能出现其它模板元素(html相关标签), JSP引擎在翻译JSP页面中,会将JSP脚本中的Java代码将被原封不动地放到Servlet的_jspService方法中。
                                      JSP脚本片断中的Java代码必须严格遵循Java语法

                                      image.gif

                                        • 代码演示:
                                        <!-- jsp脚本,脚本中声明的变量放在_jspService方法中 -->
                                        <%
                                         int num = 10;
                                         String name = "zhangsan";
                                         System.out.println(name);
                                         Date date = new Date();
                                         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                                         String dateStr = sdf.format(date);
                                         System.out.println(dateStr);
                                        %>
                                        单个脚本中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句,例如:
                                        <%
                                         for (int i=1; i<5; i++) 
                                         {
                                        %>
                                         <H1>hahahaha</H1>
                                        <%
                                         }
                                        %>
                                        <%
                                         for(int i = 1; i <= 6; i++){
                                          response.getWriter().write("<h" + i + ">标题" + i + "<h" + i + "/>");
                                         }
                                        %>
                                        <%
                                         for(int i = 1; i <= 6; i++){ 
                                        %>
                                        <h<%=i %>>标题<%=i %></h<%=i %>>
                                        <%
                                         }
                                        %>

                                        image.gif

                                        「JSP表达式:」

                                        <%=java的表达式 %>
                                        当前时间:<%= new java.util.Date() %> 
                                        JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.write(…) 将数据输给客户端。
                                        注意:JSP脚本表达式中的变量或表达式后面不能有分号(;)。

                                        image.gif

                                          • 代码演示:
                                          <!-- jsp表达式 -->
                                          <!--  相当于out.print(name.length() ); -->
                                          <%=name %>
                                          <%=name.length() %>

                                          image.gif

                                          「JSP声明:」

                                          <%! 
                                          定义变量、方法等
                                          %>
                                          Jsp声明中的java代码被翻译到_jspService方法的外面,即成为实例变量。JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法 。

                                          image.gif

                                            • 代码演示:
                                            <!-- jsp声明 -->
                                            <%!
                                             //相当于成员变量
                                             private int aaa = 10;
                                             //定义了一个方法
                                             public int add(int a, int b){
                                              return a + b;
                                             }
                                             int sum = add(10, 12);
                                             //System.out.println(sum);
                                            %>

                                            image.gif

                                            「JSP注释:」

                                            <%--  注释的内容  --%>

                                            image.gif

                                            6、JSP三大指令

                                            「简介:」

                                              • JSP的指令并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分
                                              • JSP指令的基本语法格式:
                                              <%@ 指令 属性名="值" %>

                                              image.gif

                                              「include指令 理解:」

                                              include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。
                                              语法:
                                                <%@ include file="relativeURL"%>
                                                其中的file属性用于指定被引入文件的相对路径。file属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录,否则,表示相对于当前文件。
                                              注意:
                                              被引入的文件必须遵循JSP语法。
                                              被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容。
                                              由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(pageEncoding和导包除外)。

                                              image.gif

                                                • 代码演示:
                                                <!-- include指令 ,相当于将多个文件合为一个文件,转换为一个java文件-->
                                                <%@ include file="header.jsp" %>

                                                image.gif

                                                「page指令 理解:」

                                                用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。

                                                image.gif

                                                  • page指令的完整语法:
                                                  <%@ page 
                                                    [ language="java" ] 
                                                    [ import="{package.class | package.*}, ..." ] 
                                                    [ session="true | false" ] 
                                                    [ buffer="none | 8kb | sizekb" ] 
                                                    [ autoFlush="true | false" ] 
                                                    [ isThreadSafe="true | false" ] 
                                                    [ info="text" ] 
                                                    [ errorPage="relative_url" ] 
                                                    [ isErrorPage="true | false" ] 
                                                    [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 
                                                    [ pageEncoding="characterSet | ISO-8859-1" ] 
                                                    [ isELIgnored="true | false" ]

                                                  image.gif

                                                    • 代码演示:
                                                    <%--
                                                    page中
                                                    session值默认为true,表示会自动创建一个session对象。当不需要时,可以设置为false
                                                    pageEncoding jsp文件本身的编码方式
                                                    contentType 服务器发送给浏览器的内容的编码
                                                    --%>
                                                    <%@ page language="java" 
                                                     import="java.util.*"
                                                     contentType="text/html; charset=UTF-8"
                                                        pageEncoding="UTF-8"
                                                        session="false" 
                                                    %>

                                                    image.gif

                                                    「taglib指令 了解:」

                                                    用于在JSP页面中导入标签库

                                                    image.gif

                                                    7、内置对象

                                                    「原理:」

                                                    每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。
                                                    由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。
                                                    JSP引擎在调用JSP对应的_jspService时,会传递或创建9个与web开发相关的对象供_jspService使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。

                                                    image.gif

                                                    「九大内置对象 了解:」

                                                    request   HttpServletRequest
                                                    response  HttpServletResponse
                                                    application  ServletContext
                                                    session    HttpSession
                                                    out     JspWriter
                                                    pageContext  PageContext 
                                                    exception  Throwable
                                                    config    ServletConfig
                                                    page  Object(this)  较少使用

                                                    image.gif

                                                    「pageContext:」

                                                    pageContext对象是JSP技术中最重要的一个对象,它代表当前JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如包含和跳转其它资源、检索其它域对象中的属性等

                                                    image.gif

                                                      • 基本语法:
                                                      <%
                                                        //可以获取其他内置对象
                                                        pageContext.getRequest();
                                                        pageContext.getResponse();
                                                        pageContext.getServletContext();
                                                        pageContext.getSession();
                                                        pageContext.getServletConfig();
                                                        pageContext.getException();
                                                        pageContext.getOut();
                                                        pageContext.getPage();
                                                      %>

                                                      image.gif

                                                        • 代码演示:
                                                        <%
                                                         //pageContext 域对象
                                                         //pageContext.setAttribute("msg", "page_msg");
                                                         //第三个参数,指定向哪个域中设置数据
                                                         //四个域对象
                                                         pageContext.setAttribute("msg", "page_msg", PageContext.PAGE_SCOPE);
                                                         pageContext.setAttribute("msg", "request_msg", PageContext.REQUEST_SCOPE);
                                                         pageContext.setAttribute("msg", "session_msg", PageContext.SESSION_SCOPE);
                                                         pageContext.setAttribute("msg", "application_msg", PageContext.APPLICATION_SCOPE);
                                                        %>

                                                        image.gif

                                                        「四个域对象:」

                                                        request
                                                        session
                                                        application
                                                        pageContext

                                                        image.gif

                                                          • 基本语法:
                                                          <%
                                                            System.out.println(pageContext.getAttribute("msg"));
                                                            System.out.println(request.getAttribute("msg"));
                                                            System.out.println(session.getAttribute("msg"));
                                                            System.out.println(application.getAttribute("msg"));
                                                            //从域中查找属性
                                                            //pageContext->reqeust->session->application
                                                            System.out.println(pageContext.findAttribute("msg"));
                                                          %>

                                                          image.gif

                                                          8、EL(Expression Language)表达式

                                                          「获取数据:」

                                                          EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的域中检索java对象、获取数据。
                                                          使用EL表达式获取数据语法:${标识符}

                                                          image.gif

                                                            • 从指定域中获取数据
                                                            • 获取对象属性
                                                            • 获取集合中值

                                                            「表达式运算:」

                                                              • 利用El表达式可以在JSP页面中执行一些基本的关系运算】逻辑运输和算术运算,以在JSP页面中完成一些简单的逻辑运算

                                                              image.gif

                                                              image.gif

                                                              「内置对象:」

                                                                • EL表达式定义了一些内置(隐式)对象,利用这些隐式对象,开发人员可以获得对web中常用对象的引用,从而获的这些对象中的数据

                                                                image.gif

                                                                9、jsp标签

                                                                「内置动作标签 理解:」

                                                                  • 如下:
                                                                  <jsp:useBean> 创建对象,对象会放到域中,其中:
                                                                  id 创建的对象名称
                                                                  class 类名
                                                                  <jsp:setProperty>设置对象的属性值,其中:
                                                                  name 表示对象的名称
                                                                    property 属性名
                                                                   value 对应的值
                                                                  <jsp:getProperty> 获取属性值
                                                                  <jsp:forward page="WEB-INF/aaa.jsp"></jsp:forward> 转发

                                                                  image.gif

                                                                  「jstl标签:」

                                                                    • JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是有apache的jakarta小组来维护的。
                                                                    • 主要包括:
                                                                    核心标签(c:) 
                                                                    JSTL函数(fn:)
                                                                    格式化标签(fmt:)
                                                                    数据库标签
                                                                    XML标签

                                                                    image.gif

                                                                      • 核心标签库
                                                                      <c:set> 设置值,会向域中添加数据
                                                                      <c:out>在jsp中显示值
                                                                      <c:if> 条件判断
                                                                      <c:choose> 多条件判断
                                                                        <c:when>
                                                                        <c:otherwise>
                                                                      <c:forEach> 循环遍历

                                                                      image.gif

                                                                        • 使用步骤:
                                                                        1)导入jstl-1.2.jar文件
                                                                        2)在jsp中导入相关的标签库
                                                                            <!-- 引入核心标签库,前缀必须使用 "c" -->
                                                                        <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
                                                                        2)格式化标签
                                                                        <fmt:formatNumber> 数字格式化
                                                                        <fmt:formatDate> 日期格式化

                                                                        image.gif

                                                                        结语

                                                                        本篇关于JSP的介绍就先到这里结束了,后续会出更多关于JSP系列更多文章,谢谢大家支持!

                                                                        image.gif


                                                                        image.gif

                                                                        点点点,一键三连都在这儿!

                                                                        相关文章
                                                                        |
                                                                        1月前
                                                                        |
                                                                        Java 容器
                                                                        【学习笔记】Jsp与Servlet技术
                                                                        【学习笔记】Jsp与Servlet技术
                                                                        68 0
                                                                        |
                                                                        11天前
                                                                        HTML 统一资源定位器(Uniform Resource Locators)3
                                                                        URL字符编码是指将URL中非ASCII字符转换为有效的ASCII格式的过程。URL只能使用ASCII字符集,因此需要对超出该集合的字符进行编码。URL编码使用“%”加上两位十六进制数来表示非ASCII字符,空格通常被编码为“+”。例如,€编码为%80,£编码为%A3。更多信息可参见URL编码参考手册。
                                                                        |
                                                                        11天前
                                                                        |
                                                                        安全 数据安全/隐私保护
                                                                        HTML 统一资源定位器(Uniform Resource Locators)2
                                                                        常见的URL Scheme包括:http(超文本传输协议,用于普通网页,不加密)、https(安全超文本传输协议,用于安全网页,加密信息交换)、ftp(文件传输协议,用于文件的上传和下载)、file(用于访问本地计算机上的文件)。
                                                                        |
                                                                        11天前
                                                                        HTML 统一资源定位器(Uniform Resource Locators)1
                                                                        统一资源定位器(URL)是用于标识互联网上资源位置的标准格式。URL通常由方案、主机、域名、端口、路径和文件名组成,如 `http://www.runoob.com/html/html-tutorial.html`。大多数用户通过域名访问网站,因为域名比IP地址更容易记忆。URL在Web浏览器中用于请求页面,通过 `&lt;a&gt;` 标签实现链接跳转。
                                                                        |
                                                                        13天前
                                                                        |
                                                                        机器学习/深度学习 移动开发 自然语言处理
                                                                        HTML5与神经网络技术的结合有哪些其他应用
                                                                        HTML5与神经网络技术的结合有哪些其他应用
                                                                        31 3
                                                                        |
                                                                        13天前
                                                                        |
                                                                        机器学习/深度学习 移动开发 自然语言处理
                                                                        HTML5与神经网络技术的结合有哪些
                                                                        HTML5与神经网络技术的结合有哪些
                                                                        28 2
                                                                        |
                                                                        14天前
                                                                        |
                                                                        SQL XML 缓存
                                                                        java中jsp详解!!!
                                                                        JSP(Java Server Pages)是一种动态网页技术标准,允许在HTML页面中嵌入Java代码,实现网页逻辑与设计分离。JSP本质上是Servlet的简化,支持跨平台运行。JSP通过内置对象(如request、response、session等)和指令(如page、include、taglib)提供强大的功能,同时利用EL表达式和JSTL标签库简化页面开发。JSP的核心优势在于快速开发和维护Web应用。
                                                                        31 0
                                                                        |
                                                                        2月前
                                                                        |
                                                                        移动开发 HTML5
                                                                        响应式精品资源导航源码html5
                                                                        一款响应式精品网站推荐导航源码,可以自己修改代码替换图标图片和指向网址。背景图支持自动替换,背景图可以在images中修改,本地双击html即可查看效果
                                                                        40 2
                                                                        响应式精品资源导航源码html5
                                                                        |
                                                                        1月前
                                                                        |
                                                                        移动开发 前端开发 JavaScript
                                                                        HTML与现代Web开发的不同技术
                                                                        【10月更文挑战第11天】HTML与现代Web开发的不同技术
                                                                        21 0
                                                                        |
                                                                        3月前
                                                                        |
                                                                        缓存 安全 Java
                                                                        Java服务器端技术:Servlet与JSP的集成与扩展
                                                                        Java服务器端技术:Servlet与JSP的集成与扩展
                                                                        33 3