首页 > 编程知识 正文

web设计与编程,web程序设计难吗

时间:2023-05-04 12:08:50 阅读:48967 作者:4985

控制(控制层) servlet名称、URL应该接收的参数包数据的目标业务层接口的分页跳转方法(请求转发|页面重定向参数传递)参数名称、参数共享架构2.1获取servlet的配置信息2.2 servlet中的流程控制传输和请求传输是servlet (源组件)对客户端请求执行预处理操作,然后将请求传输到其他Web组件,从而实现中继请求包含是指servlet (源组件)将其他Web组件(目标组件)生成的响应结果包含在自己生成的响应结果中。 重定向是服务器响应客户端请求,并作为响应,让客户端浏览器重新发出访问另一个URL的请求。 方式1:RequestDispatcher调用getrequestdispatcher(uri )的正向(request,response ); 传输方式2:Response.sendRedirect (; 注意:您可以重定向至任何web APP应用程序的servlet、Jsp和Html。 仅与所需资源共享会话。 在浏览器的地址栏中显示目标地址。 可以通过URL地址和HttpSession对象将数据传递到目标资源。 附加在URL地址之后的中文数据必须用URLEncoder.encode (方法编码。 如果浏览器考虑关闭Cookie,则必须使用response.encodeRedirectURL ()方法对URL进行编码。 3 .会话跟踪3.1会话和会话跟踪:从浏览器首次访问站点到浏览器关闭之间在浏览器和站点服务器之间进行的多次“请求-响应”操作称为会话。

一次“请求-响应”通过一个连接完成; 会话可能由多个连接组成。 连接结束后,连接将关闭。

服务

器如何区分来自浏览器的多个连接哪些是同一个浏览器(即同一个用户)发出的?即服务器如何追踪一个用户的一些列访问?
服务器端跟踪浏览器连接访问的技术称为会话跟踪。会话跟踪的本质是在多个请求中保存用户的属性(状态),也成为状态管理。

方式1:通过隐藏字段,在表单中附加隐藏type=”hidden”
方式2:使用Cookie技术–通过Cookie存放用户身份信息,服务器可以追踪用户,不安全,会因为用户关闭而失效
方式3:使用Session对象

数据存取: serAttribute(name,value); getAttribute(name); Object要做类型转转 removeAttribute(name)Session失效 Invalidate():立即失效,数据丢失 setMaxInactiveInterval(int inteval);设置会话失效的最长时间【注】如果咩有设置失效时间间隔,缺省浏览器关闭后就失效。可预防访问攻击-----(这个不懂)

方式4:URL地址重写
把Session的ID直接附加到要访问的各个URL后面。
Response.encodeURL(URI):在URI后面加上Session ID;
Response.encodeRedirectURL(URL):在URI后面加上Session ID,专门为重定向服务。
评价:与Session合用,完美方案,


4 过滤器

○ 过滤器是驻留在服务器端的Web组件,它可以截取客户端和服务器目标资源之间的请求和响应信息,并对这些信息进行处理。
○ 过滤器是请求到达一个目标资源前的预处理程序,和/或响应离开目标资源后的后处理程序。
○ 利用过滤器可以实现多种功能,例如编码转化、数据过滤和替换、身份验证、数据加密、数据压缩、日志记录等。

4.1过滤器解决中文乱码问题

     对Post方法提交的数据,在调用request对象的getParameter()和getParameterValues获取参数值前,先调用setCharacterEncoding(charset),可以解决中文乱码问题,但对于GET方法提交的数据无效。最好的解决方案是使用基于包装器的过滤器。

5 关于地址的一些问题: 5.1 路径

路径的基本概念
在Java Web开发中,路径分为绝对路径和相对路径
绝对路径
为某一资源(HTML、JSP或Servlet)在服务器上的真正的路径,即物理路径。
相对路径
为相对与某个基准目录的路径。在Servlet中,“/”代表Web应用的根目录,“./”代表当前目录,“../”代表当前目录的上一级目录。

1)链接地址、表单提交、重定向、转发的路径四种情况 <a rel="external nofollow" href=""></a><form action=" "></form>Request.getDispatcher();Response.sendRedirect(); 2)两种路径表示方法 相对路径 : <a rel="external nofollow" href="xxx.do"></a>【说明】好几次看到好友写.do后缀的链接,后来查看一下原来这是struct框架定义的,表示交给Servlet处理的意思;绝对路径:<a rel="external nofollow" href="/project/xxx.do"></a> 6.Servlet的共享变量(这个地方还不太清楚,需要进一步学习)

7 jsp JSP标签-指令taglib指令:导入标签库<%@taglib uri="" prefix=""%>jsp标签-动作jsp标签- 7.1 jsp中隐含的对象

Requestresponseoutseesionapplicationpageconfig
隐含的session对象

客户首次访问服务器上的JSP页面时,JSP引擎产生session对象,并分配给它一个String类型的ID,并将其发送到客户端存入Cookie中,这样session对象和客户端之间建立了一一对应关系,客户在该服务器不同网页间转换或从其他服务器回到该服务器时,不分配给客户新的session,直到客户关闭浏览器,分配给客户的session对象被取消。
如果客户端不支持Cookie,服务器无法将session ID写到客户端。服务器无法识别同一个客户端。解决该问题的有效方法是URL重写技术。

str=response.encodeURL("id2_1.jsp");<a rel="external nofollow" href="<%=str%>"></a>

保存和获得session对象中的数据是JSP页面常做的工作,需要使用getAttribute()和setAttribute()方法。

隐含对象application:全局变量
page对象:相当于this,表示jsp页面本身,servlet的一个实例

8 EL表达式:代替jsp中输出表达式<%= %>

EL表达式以 开始,代码写在之间。< 开 始 , 代 码 写 在 之 间 。 < {表达式}
EL可以访问或获取作用域(pageScope、requestScope、sessionScope、applicationScope)中的对象
${范围.对象.Key} – 用于HashMap对象或JavaBean

${范围.对象[属性]}—通用
如果缺省范围,则哪找从小到大的范围顺序去搜索对象

9 关于web开发一些其他技术:ajaxjsjquery

Ajax(Asynchronous javascript and xml)使用js,xml,css,dom,json实现浏览器xiangweb服务器发送一步请求,可局部刷新页面

• 使用JavaScript对象XMLHttpRequest模拟浏览器,向Web服务器发出Http请求,同时创建一个Ajax引擎来监视Web服务器的响应。
• 当Ajax引擎监视到Web服务器的响应结束后,使用JavaScipt代码基于响应信息〔Txt串、XML文档、JSON对象〕操纵页面的DOM树,从而实现页面的局部刷新。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。