|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的), 会话形态保持是Web使用开辟者必需面临的成绩。有多种办法能够用来办理这个成绩,如利用Cookies、埋没的表单输出域,或间接将形态信息附加到URL中。JavaServlet供应了一个在多个哀求之间延续无效的会话对象,该对象同意用户存储和提取会话形态信息。JSP也一样撑持Servlet中的这个观点。
在Sun的JSP指南中能够看到很多有关隐含对象的申明(隐含的寄义是,这些对象能够间接援用,不必要显式地声明,也不必要专门的代码创立实在例)。比方request对象,它是HttpServletRequest的一个子类。该对象包括了一切有关以后扫瞄器哀求的信息,包含Cookies,HTML表单变量等等。session对象也是如许一个隐含对象。这个对象在第一个JSP页面被装载时主动创立,并被联系关系到request对象上。与ASP中的会话对象类似,JSP中的session对象关于那些但愿经由过程多个页面完成一个事件的使用长短常有效的。
为申明session对象的详细使用,接上去我们用三个页面摹拟一个多页面的Web使用。第一个页面(q1.html)仅包括一个请求输出用户名字的HTML表单,代码以下:
<HTML>
<BODY>
<FORMMETHOD=POSTACTION="q2.jsp">
请输出您的姓名:
<INPUTTYPE=TEXTNAME="thename">
<INPUTTYPE=SUBMITVALUE="SUBMIT">
</FORM>
</BODY>
</HTML> 第二个页面是一个JSP页面(q2.jsp),它经由过程request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保留到session对象中。session对象是一个名字/值对的汇合,在这里,名字/值对中的名字为“thename”,值即为name变量的值。因为session对象在会话时代是一向无效的,因而这里保留的变量对后继的页面也无效。q2.jsp的别的一个义务是扣问第二个成绩。上面是它的代码:
<HTML>
<BODY>
<%@pagelanguage="java"%>
<%!Stringname="";%>
<%
name=request.getParameter("thename");
session.putValue("thename",name);
%>
您的姓名是:&<%=name%>
<p>
<FORMMETHOD=POSTACTION="q3.jsp">
您喜好吃甚么?
<INPUTTYPE=TEXTNAME="food">
<P>
<INPUTTYPE=SUBMITVALUE="SUBMIT">
</FORM>
</BODY>
</HTML> 第三个页面也是一个JSP页面(q3.jsp),次要义务是显现问答了局。它从session对象提取thename的值并显现它,以此证实固然该值在第一个页面输出,但经由过程session对象得以保存。q3.jsp的别的一个义务是提取在第二个页面中的用户输出并显现它:
<HTML>
<BODY>
<%@pagelanguage="java"%>
<%!Stringfood="";%>
<%
food=request.getParameter("food");
Stringname=(String)session.getValue("thename");
%>
您的姓名是:&<%=name%>
<P>
您喜好吃:&<%=food%>
</BODY>
</HTML>
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。 |
|