zoukankan      html  css  js  c++  java
  • web笔记

    程序在CPU中执行,CPU中有程序计数器,寄存器,控制器等

    代码都在磁盘上,读取时被拿到内存中(转化成机器指令),并被程序计数器来技术和标记

    无并发时:CPU中执行,需要排队,一行一行执行

    有并发时:利用进程,来回切换--(将部分进程拿出)-->线程(只管理小块资源)(做CPU切换)->时间片

    一个·CPU同一时刻只能做一件事

     哎呀哈!跑题了,不好意思a~/~

    步入正题:

    JavaWeb

    URL格式:(协议)://(主机名):(端口号)/(文件路径)/(文件名)

    通过web.xml查看URL的方法:项目名+<url-pattern></url-pattern>

    HTML与Servlet的异同:

                   相同,都用HTTP

    区别,前者WEB服务器直接返回HTML,后者WEB服务器调用SERVELT的方法由Servlet动态生成HTML页面

    区别,后者需在WEB.XML中配置URL路径

    Get:参数放在HTTP报头

    POST:参数放在HTTP正文

    在代码中设置请求参数乱码,只适用于post,不适用于get

    在server.xml中更改才能适用与get

     

     

    HttpServletRequest请求参数处理:

           getParameter() 指定请求参数名称来取得对应的值

           getParameterValue()获取请求中所有的请求参数列表

           getParameterName() 获取请求中所有的请求参数的名字列表

           getparameterMap()获取请求中的所有请求key-value对

    servlet生命周期:

    init是在一个servlet类的对象在被tomcat创建的时候调用的,在一个servlet对象的声明周期内只会执行一次,在对象被创建的时候调用一次

    service方法是浏览器每次请求servlet对象时都会执行的方法

    destory方法是在servlet生命周期结束的时候会调用的方法。

     

    Web-INF文件夹对客户端是透明的,客户端是看不到这个路径的,只能通过请求转发来访问

    注意:并不是任何的内部跳转都能访问WEB-INF;原因是 跳转有2种方式:请求转发、重定向

    配置tomcat运行环境

                   Jsp<->Servlet

    1. 将tomcat/lib中的servlet-api.jar加入项目的构建路径
    2. 右键项目->Build Path->Add library->Server Runtime   (更好些)

    部署tomcat

    在servers面板 新建一个tomcat实例 ,再在该实例中部署项目(右键-add)之后运行

    注意:一般建议 将eclipse中的tomcat与本地的配置信息保持一致:将eclipse中的tomcat设置为托管模式:【第一次】创建tomcat实例后,双击该实例,选择Server Location的第二项

    4、统一字符集编码

    a.编码分类:

    设置jsp文件的编码(jsp文件中的pageEncoding属性): jsp->java

    设置浏览器读取jsp文件的编码(jsp文件中的content属性)

    一般将上述设置成 一致的编码 ,推荐使用UTF-8

    文本编码:

    1. 将整个eclipse中的文件 统一设置(推荐使用)
    2. 设置 某一个项目
    3. 设置单独文件

    6.

    JSP的页面元素

    1. 脚本Scriptlet
    2.  

    Response:响应对象

    提供方法:

    Void addCookie:服务端向客户端增加cookie对象

    Void sendRedirect:页面跳转的一种方法(重定向)

    Void setContetType:设置服务端响应的编码

    请求转发和重定向的区别:

                                            请求转发                          重定向

    地址栏是否改变            不变                              改变

    是否保留第一次            保留                              不保留   --四种范象

    请求的次数                一次                               两次

    跳转发生的位置           客户端                            服务端发出得第二次跳转

    转发、重定向:
    转发:

                   张三(客户端)->[服务窗口A(服务端)]->服务窗口B

    重定向:

                   张三(客户端)->服务窗口A(服务端)->去找B

                   张三(客户端)->服务窗口B(服务端)->结束

     

     

     

     

    2        session(服务端)

                   Cookie(客户端,不是内置对象):Cookie是由 服务端生成的,再转发给客户端保存。相当于本地缓存得作用:客户端->服务端

    作用:提高访问服务端得效率,但是安全性较差

    Cookie:key=value

    Javax.servlet.http.Cookie

    Public cookie(String name,String value)

    String getName:

    String getValue:

    Void setMaxAge:最大有效期(秒)

    服务端发送给客户端:

    Response.addCookie(Cookie cookie)

    页面跳转(转发、重定向)

    客户端获取cookie:request.getCookie()

    1. 服务端增加cookie:response对象:客户端获取对象:request对象
    2. 不能直接获取某一个单独对象,只能一次性将全部cookies拿到

    通过F12可以发现,除了自己设置的Cookie对象外,还有一个name为JSESSIONIE的Cookie

    建议cookie只保存 英文和数字,否则需要进行编码、解码。

    4.session:会话

    a.浏览网站:开始-关闭

    b.购物:浏览、付款、退出

    c.电子邮件:浏览、写邮件、退出

           开始-退出

    Session机制:

    客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息)

    并且每个session对象 都会有一个唯一的sessionID(用于区分其他session)

    服务端会产生一个cookie,并且该cookie的name=JSESSIONID,value=服务端sessionID的值;

    然后 服务端会在响应客户端的同时,将该cookie发送给客户端,至此 客户端就有了一个cookie(JSESSIONID);

    因此,客户端的cookie就可以和服务端的session一一对应(JSESSIONID-sessionID)

    客户端第2/n次请求服务端时:服务端会先用客户端cookie中的JSESSIONID 去服务端的session中匹配sessionid,如果匹配成功(cookie,jsessionid和session sessionid)

    Session:

    1. session存储在服务端
    2. session是在同一个用户(客户)请求时共享
    3. session实现机制:第一次客户请求时,产生sessionid并复制给cookie的jsessionid然后发给客户端。最后通过session的sessionid-cookie的jsession实现一一对应

    session方法:

    String getId():获取sessionID

    Boolead isNew():判断是否是新用户(第一次访问)

    Void invalidate():是session失效(退出登录、注销)

    setAttribute():

    getAttribute():

    void setMaxInactiveInterval(秒):设置最大有效 非活动时间

    int getMaxInactiveInterval():获取最大有效 非活动时间

    eclipse配置tomcat

    下载tomcat9->eclipse->window->preproies->server->running Environment->add->tomcat9->jdk(先安装)

    Eclipse创建项目->new->web->

     

     

     

     

    Eclipse下面对话框->servlet->add

    New->servlet->

     

     

    注:每次运行只需保存,然后在默认浏览器输入网址就可以了,不必重启tomcat,或者直接run,根据提示也可以。

    若添加servlet工程时出错:

     

     

    或者重新配置  tomcat

     

    MVC设计模式:

    M:Model 模型:一个功能

     V:view 视图 :用于展示、以及与用户交互。使用html js css jquery等前端技术

     C:Controller 控制器:接受请求,将请求跳转到模型进行处理;模型处理完毕后,再将处理的结果返回给请求处。可以用jsp实现,但是一般建议使用Servlet实现控制器。

     

     

    Jsp->Java(Servlet)->JSP

    Servlet:

    Java类必须符合一定的规范:

    1. 必须继承 javax.servlet.http.HttpServlet
    2. 必须重写其中的doGet()或doPost()方法

    doGet():接受并处理所有get提交方式的请求

    doPost():接受并处 所有post提交方式的请求

    JSP:动态网页

    静态、动态:

    1. 不用和是否有“动感”混为一谈
    2. 是否 随着时间、地点、用户操作的改变而改变

    动态网页 需要使用到 服务端脚本语言(JSP)

    1. 架构

    CS:Client Server

    CS不足:

    1. 如果软件升级,那么全部软件都需要全部升级
    2. 维护麻烦,需要维护每一台客户端软件
    3. 每一个客户端,都需要安装客户端软件

    BS:Broswer Server

    客户端可以通过浏览器直接访问服务端

    注意:bs和cs各有优势

    1. tomcat解压后目录:

    bin:可执行文件(startupo.bat   shutdown.bat)

    conf:配置文件(server.xml)

    lib:tomcat依赖的jar文件

    log:日志文件(记录出错等信息)

    temp:临时文件

    webapps:可执行的项目(将为我们开发的项目  放入该目录)

    work:存放由jsp翻译成的java,以及编辑成的class文件(JSP->java->class)

    1. 配置tomcat
      1. 配置jdk(必须配置JAVA_HOME)

             Java_home   classPath  path

    1. 配置catalina_home

    双击bin/startup.bat启动tomcat

    常见错误:可能与其他服务的端口号冲突

    Tomcat端口号默认8080   (此端口号较为常见,容易),建议修改次端口(8888)

    修改端口号:

    访问tomcat:

    http://localhost:8888/

    jsp:在html中嵌套java代码

    在项目/WEB-INF/web.xml中

    <welcome-file-list>

                   <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

    虚拟路径:

    将web项目配置到webapps以外的目录

    docBase:实际路径

    path:虚拟路径  (绝对路径、相对路径【相当于webapps】)

    重启

    1. 方式二

    D: omcatapache-tomcat-9.0.27confCatalinalocalhost

    中新建  “项目名.xml”中新增一行

    <Context  docBase=” D: omcatJs0-----------”  />

    JSP执行流程

    Jsp-java(Servlet文件)-class

    Jsp和Servlet可以互相转换

    因为第一次请求服务端 会有翻译和编译的过程,因此比较慢;后续访问 可以直接访问class,因此速度比较快。但是,如果服务端修改了代码,则再次访问时,会重新的翻译,编译。

    JSP 四大范围对象

    Page:当前页面有效(页面跳转后无效)

    Request:同一次请求有效,其他请求无效(请求转发后有效,重定向后无效)

    Session:同一次会话有效(无论怎么跳转,都有效,关闭或切换浏览器后无效;从登录到退出都有效)

    Application:全局变量;整个项目运行期间 都有效(切换浏览器 仍然有效);关闭服务或其他项目  无效

    以上对象共有的方法:

    Object getAttribute(String name):根据属性名,或者属性值

    Void setAttribute(String name,object obj):设置属性值(新增,修改)

    Void removeAttribute(String name) :根据属性名,删除对象

    1.以上范围对象,通过setAttribute()复制,通过getAttribute()取值

    2.以上范围对象,尽量使用最小的范围,因为对象的范围越大,造成的想能损耗越大。

    Servlet接口

    Httpservletrequest

    <Load-on-srartup>1       一启动,就加载对象

    从tomcat启动,无main,且tomcat位置不固定

    每一块程序都有一个独立内存空间

    Jsp注释是只给jsp源码看的注释,而html注释会被带到网页上

    重点:pagecontext  四个作用域

    setAttribute 传在配置作用域

    getAttribute

    先找page -request -session -qpplication

    标签就是java代码一种简化写法

  • 相关阅读:
    C语言、指针的指针和野指针的问题
    常见证书格式和转换
    cation,validation,qualification有何区别
    Cygwin + OpenSSH FOR Windows的安装配置
    python static variable
    45个与众不同的非常棒网页设计案例
    65个精心设计的富有灵感的电子商务网站案例
    60个抢眼的企业网站设计案例
    26个有用的创建视觉图片网站的jQuery插件
    Android 图像用户界面免费的PSD设计文件
  • 原文地址:https://www.cnblogs.com/dreamzj/p/14332690.html
Copyright © 2011-2022 走看看