WebService

来源:互联网 发布:淘宝基金理财怎么样 编辑:程序博客网 时间:2024/04/30 04:23

WebService

使用java EE开发工具搭建简单的Web服务

环境搭建

  1. 下载java EE
  2. 下载Tomcat并安装
  3. 运行javaEE,设置Tomcat
    在 Eclipse 中,点击菜单栏 Window->Preferences , 点击 Server / Runtime Environments :

    点击 “Add”按钮, 新建一个服务器。选择先前安装的Tomcat版本。

    点击”Next”进入下一步。在Tomcat installation directory下面的文本框中输入tomcat的安装目录,点击”finish”完成配置。

设置默认的字符集

在eclipse中,会默认使用当前操作系统的字符集,一般会是GBK。然而我们开发web应用程序时,一般使用UTF-8。所以需要设置一下默认的字符集。

在 Eclipse 中,点击菜单栏 Window->Preferences , 点击 General / Workspace :

在 Text file encoding 区域选择 Other : UTF-8 。 这样子以后我们新建项目时,会默认使用 UTF-8 字符编码。

HELLO WORLD

在 Eclipse Java EE 中, 在左边的 Project Explorer 的空白区域点击鼠标右键, 然后点击 “New->Dynamic Web Project” :

点击“Finish”完成。

然后在WebContent上右键,在右键菜单中点击“New->JSP File”,新建一个 index.jsp 页面。

启动服务,即可看到jsp页面中设置的网页内容。

几个重要概念

  1. Session

    Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。在Servlet中,session指的是HttpSession类的对象。

    Session删除的时间是:

    • Session超时:超时指的是连续一定时间服务器没有收到该Session所对应客户端的请求,并且这个时间超过了服务器设置的Session超时的最大时间。
    • 程序调用HttpSession.invalidate()
    • 服务器关闭或服务停止

    session存放在服务器端的内存中。不过session可以通过特殊的方式做持久化管理。

    当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个session的ID,用来标识该session对象,当浏览器下次(session继续有效时)请求别的资源的时候,浏览器会偷偷地将sessionID放置到请求头中,服务器接收到请求后就得到该请求的sessionID,服务器找到该id的session返还给请求者(Servlet)使用。一个会话只能有一个session对象,对session来说是只认id不认人。

  2. cookie

    Cookie通常也叫做网站cookie,浏览器cookie或者http cookie,是保存在用户浏览器端的,并在发出http请求时会默认携带的一段文本片段。它可以用来做用户认证,服务器校验等通过文本数据可以处理的问题。

    Cookie不是软件,所以它不能被携带病毒,不能执行恶意脚本,不能在用户主机上安装恶意软件。但它们可以被间谍软件用来跟踪用户的浏览行为。所以近年来,已经有是欧洲和美国的一些律师以保护用户隐私之名对cookie的种植宣战了。更严重的是,黑客可以通过偷取Cookie获取受害者的帐号控制权。

    如何种植Cookie?
    Step1.客户端发起http请求到Server

    GET /index.php HTTP/1.1
    Host: www.webryan.Net
    (这里是省去了User-Agent,Accept等字段)

    Step2. 服务器返回http response,其中可以包含Cookie设置

    HTTP/1.1 200 OK
    Content-type: text/html
    Set-Cookie: name=value
    Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
    (content of page)

    Step3. 后续访问webryan.net的相关页面

    GET /spec.html HTTP/1.1
    Host: www.webryan.net
    Cookie: name=value; name2=value2
    Accept: /

0 0
原创粉丝点击