web编程的纯理论个人杂乱的笔记

来源:互联网 发布:windows 杀进程 编辑:程序博客网 时间:2024/06/05 04:26

web编程的个人笔记整理

初次学到javaweb编程,感觉这个东西好强大,有点怕自己驾驭不了。在大学课堂上加上自己在网上找的学习资料一共学习了25天,总算是理清了一部分的概念!在次把最近做的笔记生成一片文章供大家参考,有错误或者矛盾之处还请指出。


  1. 什么是HTTP协议:也叫作超文本传输HyperText Transfer Protocol,客户端(浏览器)发送数据给服务器(request请求),服务端(服务器接收浏览器发送的数据,把request请求发送给servlet处理,而后servlet把结果传给服务器然后再给(response)给客户端)。那么问题来了?
  2. 什么是servlet:servlet是一种java语言编写的服务端程序,其主要功能是在于交互的浏览和修改数据,生成动态的web内容。一个servlet程序就是一个实现了特殊类接口的java类,进而我们才想到servlet就会有一个生命周期:1.初始化方法 :在第一次请求时,只有最初的时候调用一次 2 .服务化方法:在每次请求时都会执行 3.死亡方法 只有在正常关闭tomcat服务器的时候才会执行死亡方法。
  3. 下面来说说servlet的请求流程:正如前面我所提到的,服务器接收到了浏览器的request请求参数,把其交给servlet执行完后再通过response返回给浏览器,那么浏览器发送了请求参数来了之后就进行解析请求参数(分两步,我只是一步写完了)—http://localhost:80/项目名称/资源名称,通过http版本协议找到互联网上的主机,从主机上找到对应的80端口对应的程序然后再找到当前的项目下的资源,我们要从tomcat服务器中国找到他的根目录下的config(配置文件)下的server,也就是一个方法下面的.xml文件。—-你懂的然后直接去WEB-INF下面找到web.xml文件进行配置就OK了—–
    4.那么问题来了,我找到了这个资源文件之后该做些什么呢? 很显然我们知道HTTPServletRequest的常用方法–获取请求参数的方法String name = request.getParameter("name");根据参数的名称获得对应的参数的值。千万注意的是在获取请求参数时所有的数据都是字符串需要强转 在这里先补充一点那就是解决接收请求参数时的中文乱码问题:
    5.因为tomcat接收请求时默认ISO-8859-1编码,该编码只占一个字节,所以不支持中文。解决方法:先对参数进行解码然后再重新编码 byte[] data = userName.getBYte("ISO-8859-1"); userName = new String(data,"UTF-8");
    6.今天我来接着整理下关于客户端和服务端是怎么来工作的分为四步:1.浏览器发送请求到服务器端 2.服务器将请求信息发送给servlet交由其处理 3.servlet生成响应的内容并将其传送给服务器 4.服务器再将响应返回给浏览器。
    7.servlet可以有多个映射,同时有缺点也有优点,缺点:在面对多线程访问,线程不安全。优点:动态网页,拥有java的好处具有跨平台性,单例的(速度快).
    8.下面是关于web网页之间相互跳转和信息共享方面的知识:他有三种类型1.请求转发(forward ) 2.URL重定向(redirect)3.请求包含(include )。举个例子forward:Aservlet操作完成后请求转发到Bservlet,继续完成余下的功能,request.getRequestDispatcher(String path).forward(request,response).//String path 是即将跳转的目标资源 ——其特点是:浏览器的地址栏路径没有改变,依然是servlet资源,只发送一个请求共享同一个请求,但是forward可能造成表单的重复提交 2.URL重定向(redirect) response.secdRedirect(String path)——–其特点是浏览器地址栏路径改变,因为是不同的请求,因此不能共享请求中的资源,只发送两个资源不能实现跨域或跳转操作。
    9.web组件中的四大组用域对象,作用域对象存在的意思是在多个web组件中共享和传递资数据源 pageContext(名称)–pagecontext(类型)–表示当前JSP页面的范围(描述)
    request—-HTTPServletRequest—表示当前请求范围,只是共享同一个请求中的数据,不同间的请求时不共享的
    session—-HTTpSession—–表示当前的会话资源,只要浏览器不关闭session就是同一个对象,即可共享同一资源,
    appliation —–servletContext —–表示当前应用数据的范围,tomcat启动了就创建好了一个对象而且服务器不关闭那么这个对象永远是这个不会被销毁,只有tomcat服务器关闭了该对象才会被销毁。
    10.那么什么是session呢? session对象表示一次会话(从客户端到服务端的一次完整的执行),其通常用于跟踪用户的会话信息,判断用户是否登入成功,session对象是HTTPSession的实例有两个常用的方法setAttribute(String name ,Object value),getAttribute(String name){这里返回的通常都是name属性的值}
    11.session和cookie的区别:前者是一种服务端技术,而后者是一种客户端技术,就拿健身房办理会员卡的例子来说,每次一个新用户我只需要给他激活一次,(这里面存储了地址)下次该顾客来只需要把地址告诉我而不是重复再次激活了。
    12.
0 0