JAVA-WEB

1、系统架构

  1.CS架构(Client/Server  客户端/服务器)

    特点  要在客户端安装程序

        部署维护工作量大

        业务逻辑可以在客户端,减少服务器压力

        客户界面友好且功能强

  2.BS架构(Brvwer/Server 浏览器/服务器)

    特点  只需要浏览器和网络,但功能受到浏览器限制

        程序在服务器端,部署维护简单

        客户界面需要刷新,频繁访问服务器

2、开发环境  

  1.Server  Tomcat  开源免费的JavaWeb服务器程序

         Werlogic  现属于Orcale公司的商业服务器程序

  2.Eclipse  切换透视图为JavaEE

         配置Server

         创建动态网页项目

         设置JSP页面的默认字符集UTF-8

3、定义特点  Java Server Page

  支持动态网页的技术

  HTML和java代码混合  (java代码放在<%   %>里嵌入到网页中,<%  %>内的代码放在服务器断,html代码放在<%=  %>)

4、基本语法

  1.指令标识

    <%@ 指令名 属性=属性值……%>

    是设置整个网页的相关信息

    page  language="java"    程序语言

         contentType="text/html; charset=UTF-8"    编码语言 

         pageEncoding="UTF-8"    页面解析语言

         import  import=“类的全路径”

    include  file=“文件路径”

          把指定文件静态包含到当前文件中

          包含之后再进行编译

          file属性不可以包含JSP表达式

  2.脚本标示

    jsp表达式  <%=Java变量或表达式%>

            向jsp页面输出变量或表达式的运算结果   

    代码片段  <% java代码%>  

          特点  局部变量,页面之间不共享请求

              生命周期:请求的开始到结束

              作用范围:单个请求

    声明标识  <%! 声明变量或方法的代码%>  

          特点  全局变量,每个页面共享同一请求

              生命周期:从创建到服务器关闭或代码有变动

              作用范围:所有访问该页面的请求,不能跨页面

  3.动作标识

    <jsp:动作名 属性=属性值……></jdp:动作名>

    基于XML语法格式

    include  page=“文件路径”

          先进行编译再包含

          文件路径可以使用jsp表达式

          把指定文件编译后包含到当前文件中

    forward  page=“跳转的本网站页面的路径”

          跳转的页面仅限于当前网站

    

  4.JSP注释

    网页注释  <!-- 注释内容 -->  会出现在网页源代码中

    隐藏注释  <%--注释内容--%>  写在网页里,浏览器查看源代码时不会显示

    java注释  写在<% %>里  不会出现在源代码里

          //    行注释

          /**/  块注释

5、内置对象

  out  以缓冲方式向浏览器发送对象

       方法   out.write(“字符串”)

          out.print(“内容”)

          out.println(“内容”)  自动在内容后面加换行符,不显示在网页效果里,只能在源代码里查看

  request  客户端请求对象

        请求转发  必须使用 forward 动作进行转发

              request.setAttribute(key,object)  在请求对象中添加新数据

              request.getAttribute(key)  取出请求对象中的数据

        请求参数  getParameter(key)  返回String类型

        中文乱码  请求的默认字符集是ISO-8859-1不支持中文  →   进行转码先转成type[],自使用UTF-8转成字符串

              name = new String (name.getBytes("iso-8859-1"),"UTF-8"); 

              可以用过滤器对全部请求完成转码

        接收cookie  返回当前网站的Cookie集合

               中文解码  URLDeCoder.decode(“编码后的字符串”)  返回解码后的中文字符串

        客户端信息查询项  request.getMethod()  请求方式

             request.getRemoteAddr()  客户端地址

             request.getRemoteHost()  客户端机器名

             request.getRemotePort()  客户端端口号

             request.getServerName()  服务器机器名

             request.getServerPort()  服务器端口

             request.getHeader("User-Agent")  请求头信息
             request.getLocale()  地区信息

  response  服务器端响应对象

          发送信息  getWriter().writer("内容")  立即向浏览器发送输出内容,不需要缓存

          设置响应头  setHeader("Cache-Control", "no-cache")  禁止浏览器缓存  

                 setHeader("refresh","秒数")  定时刷新页面

                 setHeader("refresh","秒数;url=链接地址")  定时跳转页面(跳转地址开头不是http会默认为本网站跳转)

          跳转页面  sendRedirect("链接地址")  外部地址要以http开头

          设置cookie  Cookie是服务器发送到浏览器的键值对,浏览器的请求自动携带Cookie

                创建  Cookie a = new Cookie(“key”,“value”)

                设置属性  setMaxAge(秒数)  设置cookie的生命周期(默认周期是浏览器开启到关闭)

                添加cookie  addCookie(cookie对象)      

                中文编码  URLEncoder.encode(“中文字符串”)  返回编码后的字符串

  会话对象  

6、http协议

  1.请求协议

    报文格式  请求行

          请求头

          请求体

    请求方式  get  请求得到页面资源

              特点:请求参数附加在URL后面  url?key1=value1&key2=value2&……

                 请求报文里没有请求体

                 长度受限保密性低,但使用方便

                 可以使用url地址或form表单

          post  提交数据到服务器

              特点:请求参数以请求体的形式传递  key1=value1&key2=value2&……

                 长度不限保密性高,要使用form表单

                 form表单 method=“post”

  2.响应协议

    报文格式  响应状态行  (协议版本、响应码、响应信息)

          响应消息头  

          响应体

    响应码  200  代表成功无任何错误

         404  页面未找到

         500  服务器程序异常

原文地址:https://www.cnblogs.com/jingfengling/p/6001022.html