JAVA教程之JSP的9种基础内置组件
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。js基础组件JSP共有以下9种基础内置组件(可与ASP的6种外部组件绝对应):
request用户端哀求,此哀求会包括来自GET/POST哀求的参数
response网页传回用户真个回应
pageContext网页的属性是在这里办理
session与哀求有关的会话期
applicationservlet正在实行的内容
out用来传送回应的输入
configservlet的构架部件
pageJSP网页自己
exception针对毛病网页,未捕获的破例
你可使用它们来存取实行JSP代码的servlet。为了不议论到太多ServletAPI的细节,让我们来检视一些你能够使用它们来做的事:
不用利用运算式,你能够间接存取外部out物件来列印一些工具到response:
<%out.println("Hello");%>
不用间接传送参数到JavaBean,你能够依照哀求部件来获得参数的值:
<%Stringname=request.getParameter("name");
out.println(name);%>。
等等。
以下侧重先容session对象。
会话形态保持是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>
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点: 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 Java是一种计算机编程语言,拥有跨平台、面向对java 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 是一种使用者不需花费很多时间学习的语言 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Java是一种计算机编程语言,拥有跨平台、面向对java 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 是一种将安全性(Security)列为第一优先考虑的语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
页:
[1]