交互_交互设计 - CSDN
  • 爱上axure之 交互制作

    2019-04-02 17:52:16
    1,本章节会给大家分享Axure的所有交互动作,从链接、元件、全局变量,中继器、其他五大类进行分享。 2,每节课将会,以内容介绍+功能解释+案例演示,三个步骤进行讲解,让大家能从根本理解课程的内容...
  • 本文转自墨刀编译自Vanschneider的10 inspiring ...虽然很多交互设计师可能认为自己的工作不能很好地以视觉化的方式呈现出来,但一个作品集对于交互设计工作来说真的很重要。 在交互设计作品集中,可以引导人们了解...

    本文转自墨刀编译自Vanschneider的10 inspiring ux portfolios and why they work。

    不管你做什么样的设计,一个在线交互设计作品集都是必备的。在大多数情况下,公司和客户根本不会考虑你是做什么工作的。虽然很多交互设计师可能认为自己的工作不能很好地以视觉化的方式呈现出来,但一个作品集对于交互设计工作来说真的很重要。

    在交互设计作品集中,可以引导人们了解你的工作流程,分享你在简历甚至谈话都无法完全阐述出的细节。一个交互设计作品集将帮助面试官和用户都能更好地理解你的想法,以及你与众不同的地方。

    通过与Semplice(我的设计师作品集系统)的合作,我看到了很多例子,这些例子表明:即使是复杂的交互设计工作也可以漂亮的作品集的方式呈现出来。 我们可以去留意一些有才华的UI设计师的作品集,学习用可视化的方式来展现你的作品集,进而让人们对此留下深刻的印象。

    1. Kurt Winter

    在这里插入图片描述

    我最喜欢Kurt 的交互设计作品集的一点是:它看起来最不像是一个作品集。对于交互设计作品集来说,很容易塞满一些原型图,堆砌文字。 Kurt 确实分享了所有必要的细节,但同时成功地使它具有视觉吸引力。注意观察一下他的布局、图标和文本,这些都是值得学习借鉴的。

    在这里插入图片描述

    点击访问Kurt Winter的作品集

    2. Liz Wells

    在这里插入图片描述

    Liz Wells 是我们交互设计作品集的代言人。 她的作品集不仅让人眼前一亮,而且让人很容易理解她到底在做什么,以及她的作品是如何融入一个成功的最终产品的。每个案例研究都讲述一个具有相似结构的故事:

    • 项目摘要

    • 目前的任务

    • 用户体验的挑战

    • UX解决方案

    这使得读着很容易理解她从头到尾的方法流程。最令人印象深刻的是,她用了大量的图片来说明她的创作过程: 早期的草图,批注笔记,线框图。 许多这样的视觉效果都是简单地从笔记本上撕下来的,或者快速地写在白板上——这些视觉效果是任何UX设计师在随时随刻都能得到的。但 Liz 做的还远远不止这些,她拍摄这些笔记就像你拍摄印刷品一样,有互补的背景和可爱的小道具。她将最终产品的图片和视频呈现出来,让这个项目在屏幕上栩栩如生。

    在这里插入图片描述

    你可能会认为没有太多要展示的过程,尤其是策略和研究阶段,但是即使是头脑风暴的速记笔记也可能对你的交互设计作品集有价值。 将这些小片段保存在你的整个项目中,你会惊奇地发现这个故事在之后是多么的容易拼凑起来。

    点击访问Liz Wells的作品集

    3. Isa Pinheiro

    在这里插入图片描述

    与Liz的“幕后“式的案例研究相反,Isa Pinheiro在她的交互设计作品集中分享了精美的成品,并解释了她的工作如何影响最终用户。

    以她在日本铁路系统的项目为例。Isa在页面中嵌入了交互式原型,因此读者可以直接从她的产品作品集中体验成品。如果你没有从早期项目阶段分享的点点滴滴,这是一个很好的解决方案。

    在这里插入图片描述
    在这里插入图片描述

    (用墨刀做的交互原型,可以获取分享链接分享到作品集里)

    艾萨(Isa)还花时间在自己的作品集中添加了一些个人风格。看看她的两个独特的导航选项:一个是带有两个直接菜单项的全屏导航,另一个是每个项都配图的图像式导航。平滑的滚动和全屏封面滑块为她的交互设计作品集增添了视觉冲击。

    点击访问Isa的作品集

    4. Oykun Yilmaz

    在这里插入图片描述

    Oykun Yilmaz 擅长用一句话介绍客户并简要概述项目目标,从而使他的项目摘要简短而优美。 但是他会确保用精准的数字来呈现具体的结果,这往往是许多交互设计作品集案例研究都缺乏的。交互工作在人们看来似乎是抽象的,所以可以通过解释你的工作是如何产生实际影响的,让它具体化。

    点击访问Oykun Yilmaz的作品集

    5. Naim Sheriff

    在这里插入图片描述

    Naim Sheriff的主题对于读者来说看起来很简洁,使读者看起来很真实。 以他的Ideapaint案例研究为例,他在其中分享“设计探索”阶段的重要性,以及他通常如何进行。 甚至例出了在项目过程中问自己的问题,例如:“我们如何成功展示出相似产品之间的差异?用户怎么知道该为其的空间买多少油漆?” 随后,他们团队分享了解决方案。

    对于那些可能需要交互设计师,但又不了解内部术语和工作方式的客户来说,这样的交互设计作品集更加接地气。这样的作品集能让任何人,即使是招聘员(可能对设计一无所知)都容易理解你所做的工作。

    在这里插入图片描述

    点击访问Naim Sheriff作品集

    6. Sebastián Martínez

    在这里插入图片描述

    SebastiánMartínez 用单页作品集的方式带你了解他的作品。 他的案例研究很短,但是他做了很多设计师忘记做的一件事:他分享了他对最终产品的感觉。 “这是我感到自豪的最完整,最有趣的产品之一,”SebastiánMartínez谈到他的 Monkop Test Cloud 项目时说道。分享对工作的感受不会花费你的太多时间,但很有价值。

    在我们的“如何在X找到工作”系列中,我采访了顶级公司的设计师和招聘人员,只是询问我们如何能够在他们的设计团队中获得一份理想的工作。 他们中的许多人都说,他们想知道你对项目和结果的看法。 它给你的工作带来了深度,并给了我们一个进入你心灵的窗口。

    点击访问Sebastián Martínez的作品集

    7. Husam Elfaki

    在这里插入图片描述

    Husam Elfaki的交互设计作品集案例研究在第一段会介绍项目、目标和结果。但他并没有就此打住,把一堆照片扔在下面,而是将项目分解,解释项目的每一部分。

    不要想着放上图片你的读者能够理解它们的意思——花时间去写上标题或简短的摘要,解释你项目的来龙去脉。

    点击访问Husam Elfaki的作品集

    8. Kali and Karina

    在这里插入图片描述

    从概念到成品,Kali and Karina 的工作涉及到全流程。她们很少提到UX/UI这些字眼,但这都隐含在他们的案例研究中。从精心设计的用户旅程、黑白草图到高保真的原型图,她们像讲故事一样分享她们的项目。

    点击访问Kali and Karina 的作品集

    在这里插入图片描述

    (通过墨刀制作的高保真交互原型)

    9. Elliot Owen

    在这里插入图片描述

    Elliot Owen 呼吁人们注意特定的手势、互动和经验,这使他的项目取得成功。以他的 British Airways 为例。

    在这里插入图片描述

    他展示了小的功能或特性如何对项目产生重大影响。 而且他在合适的地方使用的GIF,不是为了让观众眼花缭乱或分心,而是准确地展示了他的交互设计项目的工作方式。

    点击访问Elliot Owen的作品集

    10. Veda Dsiljak

    在这里插入图片描述

    Veda Dsiljak的案例研究几乎就像是产品营销页面,他们的作品销售得如此出色。不只是用产品或项目的标题来命名页面,而是为它们撰写一个性标题。它们的作用就是一开始就引起人们的兴趣。 他在每个案例的结尾都添加了原型的下载链接,以便读者可以亲自体验。

    点击访问Veda Dsiljak的作品集

    11. Jason Yuan

    在这里插入图片描述

    我们以上分享的一些示例是允许你在作品集上直接跟原型进行交互,但 Jason Yuan 是使用带有鼠标操作轨迹的视频来可视化体验。通过这种方式,他能引导读者无障碍地明白产品的使用过程。

    年轻设计师们可以学习这一点:Jason为Apple设计的作品是自发的重新设计,但设计是如此详尽周到,感觉就像是真正的客户作品。 自发的重新设计是一种很好的方式,可以在你的职业生涯初期或你希望进入新的设计道路时展示你的技能和兴趣。 我总是建议说不要给像苹果这样的大公司进行自发设计,因为它们已经是一个成熟的知名品牌,这太容易了。 不过对于Jason来说,他成功做到了对FastCoDesign,Next Web,Mic等产品的设计。

    点击访问Jason Yuan 的作品集

    在创建交互设计作品集时,就像在日常工作中一样,需要深思熟虑以及具有战略性。 花一些时间来解释你的流程,让你的读者了解你工作的每一个步骤,并说明它是如何产生影响的,这样你的交互设计作品集就能被记住了。

    ————————————

    展开全文
  • 前后端是如何交互

    2019-06-13 10:49:02
    iOS,H5,安卓等前端开发的如何跟后台进行交互? 应该怎么去规避一些不该属于自己的任务而被后台强加于自己? 1.前端请求数据URL由谁来写? 在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,...
    iOS,H5,安卓等前端开发的如何跟后台进行交互?
    应该怎么去规避一些不该属于自己的任务而被后台强加于自己?
    

    1.前端请求数据URL由谁来写?

    在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查询参数也就是URL请求的参数。

    2.接口文档主要由谁来写?

    接口文档也是主要由后台开发者来写的,因为直接跟数据打交道的就是后台,后台是最清楚,数据库里面有什么数据,能返回什么数据.前端开发只是数据的被动接受者.所以接口文档也主要是由后台来完成的,前端只是接口文档的使用者,使用过程中,发现返回的数据不对,则需要跟后台进行商量,由后台来修改.切记 前端不要随意更改接口文档,除非在取得后台开发人员的同意的情况下.总的来讲,接口文档主要由后台来设计,修改,前端开发者起到了辅助的作用.

    3.前端开发与后台交互的数据格式主要是什么?

    主要是JSON XML现在用的不多

    4.前端开发的后台交互原理?

    在项目的时候,我们前后端会大概说一下接口地址,前端请求的参数,后端返回的参数,然后大家就开始写,写的差不多的时候,大家调一下接口看一下返回的数据,没问题就可以了。

    5.前端请求参数的形式

    GET和POST两种方式, 也会采用RESTful架构, 通过请求方式表示用户行为 对安全性不高 采用get方便 post要比get安全 GET - 从指定的服务器中获取数据 POST - 提交数据给指定的服务器处理

    6.前端应该告知后台哪些有效信息,后台才能返回前端想的数据的呢?

    先将要展示的页面内容进行模块划分,将模块的内容提取出来,以及方便前端的一些标志值等,将所有想要的内容和逻辑告知后端,后端就会去数据库里面去查找相应的数据表中去获得相应的内容,或者图片地址信息。 URL中的参数主要是根据后台需要, 如果后台需要一个参数作为查询的辅助条件 前端在URL数据请求时就传递参数。参数前面?几个参数中间&

    7.我们应该怎么把页面这些信息有效传达给后台,以及后台是如何获取到这些数据?

    总的来讲:所有前端请求的URL后面的参数,都是辅助后台数据查询的.如果不需要参数,那么后台就会直接给个URL给前端.

    8.前端应该如何回拒一些本不属于自己做的一些功能需求或任务?

    在与后台打交道中,我们经常遇到这种情况,有时候明明后台来处理某个事件很简单,后台非要你来做,这时候我们应该懂得去回绝他. 原则:前端就是负责把数据展示在页面上 发挥:这就需要我们对一个需求,一个任务的要有清晰认识了,如果对任务含糊不清,自己都没搞明白,你只能受后台摆布了.最后也会因为任务没有完成而备受责难了.

    9.当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端应该怎么办呢或者怎么跟后台讲呢?

    首先要把请求的URL和返回的数据以及在页面的展示的情况给跟后台看,这样有理有据,后台开发人员是不会说什么的,否则,后台会很不耐烦的,甚至骂你的可能都有,本身做后台比较难,尤其在查询数据,取数据,封装数据方面都比较难处理.

    10.为什么需要在请求的时候传入参数?

    因为后台在查询数据库的时候需要条件查询。

    展开全文
  • 人的感知:通过人体器官和组织进行人与外部世界的信息的交流和传递,人机交互主要通过人的感知来完成,主要包括视觉感知(80%)、听觉感知和触觉感知。 1.视觉(第二版 P10) (1)视觉是人类最重要的感觉通道,...

    人的感知:通过人体器官和组织进行人与外部世界的信息的交流和传递,人机交互主要通过人的感知来完成,主要包括视觉感知(80%)、听觉感知和触觉感知

    1.视觉(第二版 P10)

    (1)视觉是人类最重要的感觉通道,人类从周围世界获取的信息约有80%是通过视觉得到的。

    (2)人眼对于黄色最敏感;视觉感知可以分为两个阶段:收到外部刺激接收信息阶段和解释信息阶段。一方面,眼睛和视觉系统的物理特性决定了人类无法看到某些事物;另一方面,视觉系统进行解释处理信息时可对不完全信息发挥一定的想象力。

    (3)概念

    ◎视角:反映了物体占据人眼视域空间的大小,其大小与物体的大小和物体距离眼镜的距离有关,距离眼睛越近、物体越大,形成的视角越大。

    ◎视敏度(视力):人眼对于细节的感知能力,用被辨别物体最小间距所对应的视角的倒数表示。

    ◎视错觉:视觉感知过程中存在的偏差。人们总会夸大水平线而缩短垂直线;人们经常把对称界面的中心看的偏上一些

    (4)设计时注意的问题

        9-12号的标准英文字体更容易识别,页面的宽度在58-132mm之间阅读效果更佳;明亮的背景下显示灰暗的文字更能提高人的视敏度。

    2.认知

    (1)认知(第二版 P18)

    认知是人们在日常活动时发生在头脑中的事情,涉及认知处理(思维、记忆、学习、幻想、决策等),分为经验认知和思维认知。分为:

    ●经验认知:轻松、有效地观察、操作和响应周围的事件,要求具备某些专门的知识并达到一定的熟练程度。

    ●思维认知:涉及思考、比较和决策,是发明和创造的来源。

    认知涉及到多个特定类型的过程,包括感知和识别、注意、记忆、问题解决、语言处理

    (2)根据感知和识别的特点,设计人机交互界面时做到(第一版 P16)

    Ø  用户应能不费力地区别图标或其他图形表示的不同含义。

    Ø  声音应足够响亮而且可辨识,以便用户理解它们的含义。用户应能够理解输出的语音及其含义。

    Ø  文字应清晰易读,且不受背景干扰:如可以在黑色或蓝色背景上使用黄色文字,但不能在白色或绿色背景上使用黄色文字。

    Ø  在虚拟环境中使用触觉反馈时,用户应能识别各种触觉表示的含义。例如“紧握”的触感与“按下”的触感不同。

    Ø  在结合不同的媒体时,应确保用户能够理解它们表示的复合信息。在结合使用声音和动画时,需要仔细协调,合理安排它们的调用次序。

    (3)注意(第二版19页)

    定义:注意作为认知过程的一部分,通常是指选择性注意,即有选择的加工某些刺激而忽视其他刺激。

    基本特征:指向性和集中性

    功能:选择、保持、对活动的调节和监督

    品质:广度、稳定性、分配、转移

    相关因素:目标和信息表示(分类的信息比较便于查找)

    根据注意的特点,设计人机交互界面时做到

     

    • 信息的显示应醒目,以便执行任务时使用,可使用动画图形、彩色、下划线,对条目及不同的信息进行排序,在条目之间使用间隔符等。
    • 避免在界面上安排过多的信息。尤其要谨慎使用色彩、声音和图像,人们倾向于使用过多的这类表示,而导致界面混杂,分散用户的注意力,让用户反感。
    • 朴实的界面更容易使用

    (4)考虑人的记忆特点,进行交互设计时应该注意的问题有:(第二版20页)

      Ø  应考虑用户的记忆能力,勿使用过于复杂的任务执行步骤

      Ø  由于用户长于“识别”而短于“回忆”,所以在设计界面时,应使用菜单、图标,且它们的位置应保持一致

      Ø  为用户提供多种电子信息(如文件、邮件、图像)的编码方式,并且通过颜色、标志、时间戳、图标等,帮助用户记住它们的存放位置。

    (5)从方便用户阅读、说话和聆听的角度,在人机界面设计时应注意:

     

    • 尽量减少语音菜单、命令的数目。研究表明:人们很难掌握超过三四个语音选项的菜单的使用方法,人们也很难记住含有多个部分的语音指令。
    • 重视人工合成语音的语调,因为合成语音要比自然语音难以理解。
    • 允许使用和自由放大文字,同时不影响格式,以方便难以阅读小字体的用户。

    语言处理的形式:阅读、说话和聆听

    (6)影响认知的因素:情感和人的个性差异

           情感计算:研究通过各种传感器获取由人的情感所引起的生理及行为特征信号,建立“情感模型”,从而训练感知、识别和理解人类情感的能力,并能针对用户的情感做出智能、灵敏、友好反应的个人计算系统,缩短人机之间的距离,营造真正和谐的人机环境。

    3.概念模型(第二版23页)

    定义:指的是一种用户能够理解的系统描述,它使用一组集成的构思和概念,描述系统做什么、如何运作、外观如何等。

    概念模型设计的关键过程:了解用户的任务需求;选择交互方式和交互形式

    从人们不同的认知特点,讨论用户如何理解系统概念模型,包括思维模型、信息处理模型、外部认知模型、分布式认知模型

    ●思维模型

    外部世界的某些因素在人脑中的反映,掌握和运用思维模型使得人们能够进行推测和推理。思维模型牵涉到两个过程—“构建”和“运用”过程,人们既可能进行有意识的思维处理,也可能进行无意识的思维处理。

    ●信息处理模型

    “信息处理模型”把认知概念化为一系列的处理阶段:编码、比较、响应选择和响应执行。

    ●外部认知模型

    外部认知是要解释人们在与不同外部表示相交互时涉及的认知过程。其主要目的是要详细说明在不同的认知活动、认知过程中使用不同表示的好处,主要包括:

     

    • 将信息、知识表面化以减轻记忆负担。
    •  设计有利于人的信息表示及处理工具,减轻计算负担。
    • 标注和认知追踪。

    ●分布式认知模型

    分布式认知是一种将认知主体和环境看做一体的认知理论,分布式认知活动是对内部和外部表象的信息加工过程。

    分布式认知法描述的是认知系统中发生了什么,它通常描述人员之间的交互,人们使用的物品及工作环境。主要目的是要从信息传播媒介的角度来描述交互。也就是说,它考虑的是信息如何表示,信息在流经不同个人以及使用不同物体时是如何重新表示的。这类信息的转变也称为“表示状态的转变”。

    展开全文
  • 数据交互

    2018-11-28 20:01:14
    目录 1、JSP内置对象 2、页面的数据传递 1、request对象 1、作用: 2、方法:  *、在页面设置支持中文字符的字符集 2、response对象 1、作用 2、常用方法 3、使用转发和重定向实现页面的...2、Session...

    目录

    1、JSP内置对象

    2、页面的数据传递

    1、request对象

    1、作用:

    2、方法: 

    *、在页面设置支持中文字符的字符集

    2、response对象

    1、作用

    2、常用方法

    3、使用转发和重定向实现页面的跳转

    1.重定向

    2、转发

    3、两者的比较

    3、使用JSP保存数据

    1、使用session会话对象实现数据的保存和读取

    1、会话的概念

    2、Session对象

    2、使用cookie实现数据的保存和读取

    1、cookie

    2、在JSP中使用cookie

    3、常用方法

    3、使用application对象实现数据的保存和读取

    1、作用

    2、常用方法

    4、作用域

    1、范围分类:

    1、page作用域

    2、request作用域

    3、session作用域

    4、application作用域

    2、总结

    5、include指令


    在HTML中,表单用于填写数据,并通过提交实现数据的请求。表单在提交时有两种提交方式,分别是POST和GET,区别如下:

    1、JSP内置对象

    JSP内置对象是 Web 容器创建的一组对象(由Web容器加载的一组类的实例)

    <%
    int[ ] value = { 60, 70, 80 };
        for (int i : value) {
            out.println(i);//没有出现new关键字,但却可以使用out对象
    
        } 
    %>
    

    常用的JSP内置对象

    内置对象名称

    说明

    out对象

    用于向客户端输出数据

    request对象

    主要用于处理客户端请求的数据信息

    response对象

    用于响应客户端请求并向客户端输出信息

    session对象

    用于记录会话状态的相关信息

    application对象

    类似于系统的全局变量,用于实现Web应用中的资源共享

    2、页面的数据传递

    1、request对象

    1、作用:

    主要用于处理客户端请求

    2、方法: 

    方法名称

     说明

    String getParameter(String name)

    根据表单组件名称获取提交数据

    String[ ] getParameterValues(String name)

    获取表单组件对应多个值时的请求数据 

    void setCharacterEncoding(String charset)

    指定每个请求的编码

    RequestDispatcher getRequestDispatcher(String path)

    返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求

    void setAttribute(String name,Object o)  
    Object getAttribute(String name)

     

     

    	<form name="form1" method="post" action="reginfo.jsp">
    		<table border="0" align="center">
    			<tr>
    				<td>用户名</td>
    				<td><input type="text" name="name"></td>
    			</tr>
    			<tr>
    				<td>密码</td>
    				<td><input type="password" name="pwd"></td>
    			</tr>
    			<tr>
    				<td>信息来源</td>
    				<td>
    					<input type="checkbox" name="channel" value="报刊">报刊
    					<input type="checkbox" name="channel" value="网络">网络 
    					<input type="checkbox" name="channel" value="朋友推荐"> 朋友推荐
    					<input type="checkbox" name="channel" value="电视"> 电视
    				</td>
    				<td>
    					<input type="submit" value="提交" />
    				</td>
    			</tr>
    			<!--省略提交、取消按钮 -->
    		</table>
    	</form>
    <%
    	//读取用户名和密码
    	request.setCharacterEncoding("utf-8");
    	String name = request.getParameter("name");
    	String pwd = request.getParameter("pwd");
    	//…HTML页面代码…
    	//读取复选框选择项
    	String[] channels = request.getParameterValues("channel");
    	out.println(name);
    	out.println(pwd);
    	if (channels != null) {
    		for (String channel : channels) {
    			out.println(channel);
    		}
    	}
    %>

    *、在页面设置支持中文字符的字符集

    JSP页面默认的编码方式为“ISO-8859-1”,这个编码方式不支持中文。在进行JSP开发时,支持中文显示的编码如下:

    在JSP中解决中文乱码问题时,依据请求方式不同,解决的方式也有所不同。

    1、以POST方式提交数据时

    通过设置请求和响应的编码方式就可以解决中文乱码的显示问题。

    <%	 // 以POST方式提交数据时
    
    	//设置读取请求信息的字符编码为UTF-8(设置请求的编码方式)
    	request.setCharacterEncoding("utf-8");	
    
            //设置响应的编码方式
            response.setCharacterEncoding("utf-8");	
    
    	//读取用户名和密码
    	String name = request.getParameter("name");
    	String pwd = request.getParameter("pwd");
    %>
    
    

    2、以GET方式提交数据时

    两种方式:

    ①、在读取数据时直接对数据进行编码。适用于乱码数量很少的情况。

    <%	 // 以GET方式提交数据时
    
    	//读取用户名和密码
    	String name = request.getParameter("name");
    	//对请求数据进行字符编码
    	name = new String(name.getBytes("ISO-8859-1"), "utf-8");
    %>
    
    

    ②、通过配置文件设置解决中文乱码显示

     

    在Tomcat目录结构\conf\server.xml中设置字符集
    <Connector port="8080" protocol="HTTP/1.1"                              connectionTimeout="20000"
     redirectPort="8443" URIEncoding="UTF-8"
     />
    
    

    2、response对象

    1、作用

    用于响应客户请求并向客户端输出信息

    2、常用方法

    void sendRedirect (String location):将请求重新定位到一个不同的URL,即页面重定向

    input.jsp

    <form name="form1" method="post" action="control.jsp">
    用户名:<input type="text" name="userName">
    密码:<input type="password" name="pwd">
    <input type="submit" value="登录">
    <form>
    
    

    control.jsp

    <%
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("userName");
    String pwd = request.getParameter("pwd");
    if(name.equals("sa") && pwd.equals("sa")){
        response.sendRedirect("welcome.jsp");//跳转至欢迎页面
    }
    %>
    
    

    页面实现跳转了,请求的信息不会也一起转移, 如果想要实现页面跳转后,信息不丢失,可以使用转发取代重定向实现页面跳转

    3、使用转发和重定向实现页面的跳转

    1.重定向

    2、转发

    作用:在多个页面交互过程中实现请求数据的共享

    <%
        RequestDispatcher rd=request.getRequestDispatcher("welcome.jsp");
        rd.forward(request,response);
    %>
    

    将当前接收的用户请 求,发送给服务器的 其他资源使用

    3、两者的比较

    实现企业邮箱登录验证功能

    3、使用JSP保存数据

    1、使用session会话对象实现数据的保存和读取

    JSP提供了一个可以在多个请求之间持续有效的会话对象Session,Session对象允许用户存储和提取会话状态的信息。

    1、会话的概念

    一个会话就是浏览器与服务器之间的一次通话

    2、Session对象

    3、方法

     方法名称

    说明

    void setAttribute(String key,Object value)

    以key/value的形式保存对象值

    Object getAttribute(String key)

    通过key获取对象值

    注意:

    session.getAttribute(String key)方法的返回值是一个Object,

    使用时必须进行强制类型转换

    void invalidate()

    设置session对象失效

    String getId()

    获取sessionid

    void setMaxInactiveInterval(int interval)

    设定session的非活动时间

    int getMaxInactiveInterval()

    获取session的有效非活动时间(以秒为单位)

    void removeAttribute(String key)

     

    从session中删除指定名称(key)所对应的对象

    1、手动设置失效:invalidate()

    2、超时失效 通过setMaxInactiveInterval( )方法,单位是秒

    <%
    session.setAttribute("login","admin"); 
    session.setMaxInactiveInterval(600); 
    response.sendRedirect("admin.jsp"); 
    %>
    

    通过设置项目的web.xml或Tomcat目录/conf/web.xml 文件,单位是分钟

    <session-config>
        <session-timeout>10</session-timeout>
      </session-config>
    

    2、使用cookie实现数据的保存和读取

    cookie是Web服务器保存在客户端的一系列文本信息

    cookie的作用

    • 对特定对象的追踪
    • 统计网页浏览次数
    • 简化登录

    安全性能

    • 容易信息泄露

    1、cookie

    2、在JSP中使用cookie

    //1、创建cookie对象
    Cookie newCookie = new Cookie(String key,Object value);
    
    //2、写入cookie
    response.addCookie(newCookie);
    
    //3、读取cookie
    Cookie[] cookies = request.getCookies();
    
    /*
        cookies为Cookie类型的数组
        Cookie通过key-value方式进行保存,
        因而在遍历数组时,需要通过调用getName()对每个数组成员的名称进行检查,
        直至找到需要的Cookie,
        然后再调用Cookie对象的getValue()方法取得与名称对应的值。
    */
    

     3、应用:

    从cookie中获取上次保存的用户名

    	<%
    		Cookie[] cookies = request.getCookies();
    		String user = "";
    		for (int i = 0; i < cookies.length; i++) {
    			if (cookies[i].getName().equals("user")) {
    				user = cookies[i].getValue();
    			}
    		}
    	%>
    	<label>用户名:</label>
    	<input type="text" name="uname" value="<%=user%>" />

    3、常用方法

    方法名称

    说  明

    void setMaxAge(int expiry)

    设置cookie的有效期,以秒为单位

    void setValue(String value)

    在cookie创建后,对cookie进行赋值 

    String getName()

    获取cookie的名称

    String getValue()

    获取cookie的值

    String getMaxAge()

    获取cookie的有效时间,以秒为单位

    3、使用application对象实现数据的保存和读取

    application对象类似于系统的“全局变量”,每个Web项目都会有一个application对象,application可以在整个Web项目中共享使用数据。

    1、作用

    实现用户之间的数据共享

    2、常用方法

    方法名称

    说  明

    void setAttribute(String key,Object value)

    以key/value的形式保存对象值

    Object getAttribute(String key)

    通过key获取对象值 

    String getRealPath(String path)

    返回相对路径的真实路径

    //统计网页访问量
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>统计访问量</title>
    </head>
    <body>
    	<%
    		Integer count =(Integer)application.getAttribute("count");
    		if(count==null){
    			count=1;
    		}else{
    			count+=1;
    		}
    		application.setAttribute("count", count);
    	%>
    	<h1>你是第
    		<%=count %>个访问的人
    	</h1>
    
    </body>
    </html>

    4、作用域

    1、范围分类:

    1、page作用域

     testOne.jsp

    <%
        String name = "page";
        pageContext.setAttribute("name",name);
    %>
    <strong> 
        testOne:<%=pageContext.getAttribute("name") %>
    </strong>
    <br/>
    <%
        pageContext.include("testTwo.jsp");
    %>
    

     testTwo.jsp

    <strong> 
        testTwo:<%=pageContext.getAttribute("name") %>
    </strong>
    

    2、request作用域

    request作用域内的对象则是与客户端的请求绑定在一起

     testOne.jsp

    <%
    	String name = "request";
    	request.setAttribute("name",name);
    	request.getRequestDispatcher("testTwo.jsp").
    	forward(request, response);
    %>
    

     testTwo.jsp

    <strong> 
    	testTwo:<%=request.getAttribute("name") %>
    </strong>
    

    3、session作用域

    testOne.jsp

    <%
        String req = "request";
        String ses = "session";
        request.setAttribute("reqName ",req);
        session.setAttribute("sessionName ",ses);
        response.sendRedirect("testTwo.jsp");
    %>
    

    testTwo.jsp

    <strong>
        request:<%= request.getAttribute("reqName") %><br/>
        session:<%=session.getAttribute("sessionName") %>
    </strong>
    

    4、application作用域

    application的作用域:面对整个Web应用程序

    testOne.jsp

    <%
        String app = "application";
        String ses = "session";
        session.setAttribute("sesName",ses);
        application.setAttribute("appName",app);
        response.sendRedirect("testTwo.jsp");
    %>
    

    testTwo.jsp

    <strong>
        session:<%=session.getAttribute("sesName") %><br/>
        application:<%=application.getAttribute("appName") %>
    </strong> 
    

    2、总结

    名称

    说  明

    page范围

    在一个页面范围内有效,通过pageContext对象访问

    request范围 

    在一个服务器请求范围内有效

    session范围

    在一次会话范围内容有效

    application范围

    在整个Web应用服务没有停止前,都可以从application中进行数据的读取

    5、include指令

    除了首页面,其它页面中同样需要加入登录验证,有没有办法避免冗余代码的出现?

    可以将一些共性的内容写入一个单独的文件中,然后通过include指令引用该文件

    创建登录验证文件 loginControl.jsp 在后台首页面中使用include指令引用登录验证文件

    <%
    String login = (String) session.getAttribute("login");
    if (login == null)
      response.sendRedirect("index.jsp");
    %>
    

    在后台首页面中使用include指令引用登录验证文件

    <%@ include file="loginControl.jsp"    %>
    

     

    展开全文
  • HTML5,CSS3,还有Javascript 让很多绚丽的设计...现在的网页设计是可以很有交互性的,已经不再被静态布局给限制住了。下面列出的这30个网站就是个很不错的证明,它通过诸如音频和视频让传统效果变得酷炫。开始欣赏吧!

    很久前就像找些文章来翻译,and这是第一篇,刚开始翻译着很有兴致,但中间就开始累了,感觉好多好多,因为不仅要翻译,还要看网站,还要排版,花了两天空闲时间还是硬着头皮翻译下来了,虽然翻译质量还是好渣,不少单词还得看词典~~

    ---------------------------------------------------------------------------------------------

    30个酷毙的交互式网站,原文地址:

    http://webdesignerwall.com/trends/30-great-interactive-sites

    我很抱歉很久没更新这个网站了,但不要担心,我还活着(在忙另外一个网站)。今天我有个很帅的主题要分享 — 30个酷毙的网站。

    HTML5CSS3,还有Javascript 让很多绚丽的设计效果得以展示。现在的网页设计是可以很有交互性的,已经不再被静态布局给限制住了。下面列出的这30个网站就是个很不错的证明,它通过诸如音频和视频让传统效果变得酷炫。开始欣赏吧!

    (译者注:最好备用多种浏览器来访问)

    01 Bienville Capital Management

    http://www.bienvillecapital.com/

    这个网站使用了页面无缝过渡效果。点击那些网页你就会发现跳转到别的网页基本是没有停顿的,因为网页通过褪色和滑行动画使得切换效果很流畅。

    02 Tool of North America

    http://toolofna.com/

    第一眼看到这个网站就觉得太像一个Flash网站了,但它确实是只由HTML5CSS3Javascript来实现的,而且动画效果超级平滑。因为使用了Ajax(对SEO一点都不友好),所以内容部分不能被搜索引擎索引到。如果你的浏览器不支持Javascript,就会只出现一个黑色页面。尽管这种模式对SEO(译者注:搜索引擎排名技术)不友好,但它的交互效果太棒了,而且在手机浏览器的表现效果的是很漂亮的。

    03 Whiteboard

    http://whiteboard.is/

    这个网站有着极好的背景模糊效果。亲眼看下:当浏览器分辨率较低(或在手机设备),背景会有模糊效果,否则就是一组动画效果。

    04 Cyclemon

    http://cyclemon.com/ (译者注:打不开~

    简单漂亮的滚动插图效果。

    05 Mahedine Yahia

    http://www.mahedineyahia.fr/

    主要的背景动画由191张图片组成,当你浏览器往下滚动时就能看到独帧动画效果了。

    06 Life of Pi 

    http://journey.lifeofpimovie.com/

    在这个网站浏览有更高水平的滚动独帧动画效果,如果你喜欢电影,那你会很喜欢拖动这个网站的滚动栏的。它使用独帧动画展示了变幻的背景材质,实现这个惊人的效果值需要用JavascriptCSS3来控制近100张图片。

    07 Teehan+Lax

    http://www.teehanlax.com/

    .这个网站精心处理了每个细节漂亮地展示了每一个故事。内容有着很好的排版和动画效果,但你也很可能没主要到这些细节:当你浏览到网页中间部分,突然想回到顶部菜单栏,这时往上滚动鼠标,顶部的导航栏就会出现了。这个逻辑很有道理的,想一想,当你鼠标往下滚动时,你是想继续往下阅读,所以不需要导航栏以免挡住一些阅读区域;当你鼠标往上滚动时,导航栏就自动出现因为你可能想到网页顶部找导航栏跳转到其它页面。

    08 Coffee Surfing illy

    http://coffeesurfing.illy.com/wps/wcm/connect/cs_en/home

    这个网页也许没有第一个介绍的那个网站那样好的无缝效果,但页面切换效果很有趣。当你滚动鼠标时,页面左右区域会向不同方向切换。

    09 Satorisan

    http://satorisan.com/

    这个网站针对购物商店进行设计,主要的商品页面允许你在一个列表中浏览所以的产品,点击任何产品会以漂亮的视差滚动效果跳转到产品详情页面。

    10 Wink TTD

    http://winkttd.es/

    这个网站在响应和交互方面表现得很棒。当你用不同的设备比如很大个的iMac或者很小个的iPhone来访问,页面和动画基本如一。

    11 Solasie

    http://www.solasie.com/en/

    这个网站在交互设计方面做得非常棒。你可以很愉快地在浏览富媒体内容(图片画廊、音乐和影视)。唯一的不足就是SEO做得不好,这个问题在Ajax输出内容的网页是很普遍的,但他们一般是通过提供带关键词的链接来分享这些网页。

    12 REI 1440 Project

    http://www.rei1440project.com/

    这个网站使用时间线很适合地表现他们的观念:“一分分钟”组成了24小时。你可以使用方向键浏览那些时间点,点击进入,你会发现效果做得非常棒。

    13 Sketchin

    http://www.sketchin.ch/en/

    隐藏在导航菜单的文本是这个网站的一个亮点。

    14 Anonymous

    http://weareanonymous.fr/

    这个网站布局有很好的设计,而且提供了不错的资源(隐藏在可爱的脸蛋后面)

    15 Beatbox Academy

    http://www.beatboxacademy.ca/

    这个网站可以用按键和鼠标来敲击不同的鼓。它没有其它服务(你不能保存或者导出鼓声),但挺好玩的。点击右上方的导航栏,视差滚动效果也是非常棒的。

    16 Quartz

    http://qz.com/

    这个网站把重点放在了内容部分。它不像新闻类网站让你去点击标题然后再阅读整篇文章,而是在一个页面中展示了所有内容。当你滚动左侧的标题栏目,内容会自动预读,点击之后,地址栏也会自动更新方面分享文章。手机流量可以有相同的体验。

    17 Evans Halshaw - Bond Cars

    http://www.evanshalshaw.com/bondcars/

    如果你是视差滚动效果爱好者,那这个网站就一定要看下。

    18 Zurb Manifesto

    http://zurb.com/manifesto

    另一个视差滚动效果为主的网站。

    19 Peugeot Hybrid4

    http://graphicnovel-hybrid4.peugeot.com/start.html

    如果你觉得上面介绍的视差滚动效果非常酷,那你肯定还没见过这个网站 — 漂亮的插图、关键帧动画、令人激动的音乐还有超强悍的切换效果。访问这个网站可一定要开着音响!


    20 Chrysler: Test of Ownership

    http://testofownership.com/

    这是具有优秀页面切换效果的另一个例子。当选择不同网页的时候,页面布局、内容过渡效果都非常好,更不要说 http://testofownership.com/proof 漂亮的动画。向下滚动,数字、图表会自动增加,向上滚动就会做出相反的动作。简单,但很酷炫。

    (译者注:暂时打不开~

    21 Tinke

    http://www.zensorium.com/tinke/

    这个网站会演示整个产品流程给你看,可惜不是响应式的。


    22 Milwaukee Police News 

    http://www.milwaukeepolicenews.com/

    Ajax和视差效果实现的酷炫的警察网站。


    23 2am Media

    http://2ammedia.co.uk/

    虽然这个树枝结构的菜单看起来是Flash效果,但难以置信它是用Javascript实现的。

    24 Minimal Monkey

    http://minimalmonkey.com/

    这是一个简单的网站,但布局、页面转换和导航都支持响应式。


    25 Athenos 

    http://www.athenos.com/

    这是一个可爱的网站并有着一系列的细节设计和切换效果,它证明了庞大的现代网站在加载时确实比较慢,因为仅仅一个Gif图片就有2.5mb这么大,漂亮程度与文件大小成正比。


    26 Meng To 

    http://mengto.com/

    这个网站用不俗的图片和突然的动画展示了漂亮的作品。

    27 RED 

    http://ff0000.com/

    当你浏览网站各个地方,你会发现这个网站有着相当丰富的设计细节和动画效果。

    28 Carbon Studio

    http://www.carbonstudio.co.uk/

    如果你错过了老式Flash可以拖控图片的时代,那你要好好欣赏这个网站。

    29 Oakley Airbrake MX

    http://moto.oakley.com/

    这是另一个让人疯狂的滚动视差网站,具有视觉冲击力地展示了他们的产品。

    30 Nick Jones

    http://www.narrowdesign.com/

    这个网站也许有点过时了,但它的交互设计依然是非常棒的。


     更多:

    这些网站大多在http://bestwebgallery.com/ 找到了。

    展开全文
  • 交互

    2019-02-22 15:22:16
  • JS交互

    2019-03-08 11:49:23
    JS交互布局 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="...
  • 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。 交互图有顺序图和协作图两种形式。 时序图中描述对象按照时间顺序的消息交换。协作图...
  • Vue前后端交互六、Vue前后端交互1. 前后端交互模式2. Promise的相关概念和用法Promise基本用法**then参数中的函数返回值**基于Promise处理多个Ajax请求demoPromise常用API3. fetch进行接口调用fetch基本用法fetch...
  • 上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现 今天我将全面介绍Android通过WebView与JS交互的全面方式 阅读本文前请先阅读:Android开发:最全面、最易懂的Webview详解 ...
  • 平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢? 下面总结三种实现方法。 一、重定向:用重定向方法实现交互...
  •   随着H5功能愈发的强大,没进行过混合开发的小伙们都不好意思说自己能够独立进行iOS的app开发,在iOS7操作系统下,常用的native,js交互框架有easy-js,WebViewJavascriptBridge,以及结合javaScriptCore的框架。...
  • 后端服务器一般是指servlet容器,用于执行java源程序 ...前两个常用于静态网页,后面几个常用于动态网页。...一、静态页面xx.html如何跟后台交互: 先来看一个最简单的登陆界面源代码  &lt;body&gt; ...
  • Chapter1 揭开交互神秘面纱 第一章 揭开交互神秘面纱 产品设计开发流程和团队构成 产品设计开发六大步 交互设计师和产品经理的区别 交互设计影响用户体验 优秀的交互设计来源于生活!!! 用户体验:国际...
  • 安卓webview和h5交互

    2018-10-31 16:27:23
    先上html的代码: &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD ...&gt;...安卓和js交互demo&lt;/TITLE&gt; &lt;meta charset="utf-8"&gt; &lt;/
  • 交互设计是用户体验(UX)设计的一个重要组成部分。在本文中,我们将解释什么是交互设计,一些有用的交互设计模型,并简要描述通常交互设计师做什么。 对交互设计通俗易懂的理解 “交互设计”通俗易懂地来讲就是:它是...
  • 导语:从现在开始的相当长一段时间里,手部交互依然是最成熟的控制类人机交互方式,并且体验也远远没到完美,值得投入完善。 我们与现实世界进行交互的主要方式是手,我们与VR世界的交互同样如此...
  • 对于想要搞web的新手而言,会用html+css+javascript实现一个页面没什么太大的困难,但是想要前后端实现数据交互,在没有指导的情况下,可能大多数人都会一头雾水,往往都会有以下的疑问。 目录 1、数据是怎么发送...
  • 数据交互有三种模式:端交互交互 AJAX交互1.端交互适合数据在apicloud的云存储,并且只有APP入口的情况;2.云交互适合数据在apicloud的云存储,并且有WEB和APP入口等情况;3.ajax交互适合已有数据库或者使用...
1 2 3 4 5 ... 20
收藏数 1,600,481
精华内容 640,192
关键字:

交互