JAVA网站制作之Java Servlet 和 JSP教程(3)
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难js|servlet|教程 3Servlet3.1Servlet基础布局
上面的代码显现了一个复杂Servlet的基础布局。该Servlet处置的是GET哀求,所谓的GET哀求,假如你不熟习HTTP,能够把它当作是当用户在扫瞄器地点栏输出URL、点击Web页面中的链接、提交没有指定METHOD的表单时扫瞄器所收回的哀求。Servlet也能够很便利地处置POST哀求。POST哀求是提交那些指定了METHOD=“POST”的表单时所收回的哀求,详细请拜见稍后几节的会商。
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassSomeServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
//利用“request”读取和哀求有关的信息(好比Cookies)
//和表双数据
//利用“response”指定HTTP应对形态代码和应对头
//(好比指定内容范例,设置Cookie)
PrintWriterout=response.getWriter();
//利用"out"把应对内容发送到扫瞄器
}
}
假如某个类要成为Servlet,则它应当从HttpServlet承继,依据数据是经由过程GET仍是POST发送,掩盖doGet、doPost办法之一或全体。doGet和doPost办法都有两个参数,分离为HttpServletRequest范例和HttpServletResponse范例。HttpServletRequest供应会见有关哀求的信息的办法,比方表双数据、HTTP哀求优等等。HttpServletResponse除供应用于指定HTTP应对形态(200,404等)、应对头(Content-Type,Set-Cookie等)的办法以外,最主要的是它供应了一个用于向客户端发送数据的PrintWriter。关于复杂的Servlet来讲,它的年夜部合作作是经由过程println语句天生向客户端发送的页面。
注重doGet和doPost抛出两个非常,因而你必需在声明中包括它们。别的,你还必需导进java.io包(要用到PrintWriter等类)、javax.servlet包(要用到HttpServlet等类)和javax.servlet.http包(要用到HttpServletRequest类和HttpServletResponse类)。
最初,doGet和doPost这两个办法是由service办法挪用的,偶然你大概必要间接掩盖service办法,好比Servlet要处置GET和POST两种哀求时。
3.2输入纯文本的复杂Servlet
上面是一个输入纯文本的复杂Servlet。
3.2.1HelloWorld.java
packagehall;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
PrintWriterout=response.getWriter();
out.println("HelloWorld");
}
}
3.2.2Servlet的编译和安装
分歧的Web服务器上安装Servlet的详细细节大概分歧,请参考Web服务器文档懂得更威望的申明?俣ㄊ褂?JavaWebServer(JWS)2.0,则Servlet应当安装到JWS安装目次的servlets子目次下。在本文中,为了不统一服务器上分歧用户的Servlet定名抵触,我们把一切Servlet都放进一?龆懒⒌陌?hall中;假如你和其别人共用一个服务器,并且该服务器没有“假造服务器”机制来制止这类定名抵触,那末最好也利用包。把Servlet放进了包hall以后,HelloWorld.java实践上是放在servlets目次的hall子目次下。
年夜多半其他服务器的设置办法也类似,除JWS以外,本文的Servlet和JSP示例已在BEAWebLogic和IBMWebSphere3.0下经由测试。WebSphere具有优异的假造服务器机制,因而,假如只是为了不定名抵触的话并不是必定要用包。
关于没有利用过包的初学者,上面我们先容编译包内里的类的两种办法。
一种办法是设置CLASSPATH,使其指向实践寄存Servlet的目次的上一级目次(Servlet主目次),然后在该目次中按一般的体例编译。比方,假如Servlet的主目次是C:JavaWebServerservlets,包的名字(即主目次下的子目次名字)是hall,在Windows下,编译历程以下:
DOS>setCLASSPATH=C:JavaWebServerservlets;%CLASSPATH%
DOS>cdC:JavaWebServerservletshall
DOS>javacYourServlet.java
第二种编译包内里的Servlet的办法是进进Servlet主目次,实行“javacdirectoryYourServlet.java”(Windows)大概“javacdirectory/YourServlet.java”(Unix)。比方,再次假定Servlet主目次是C:JavaWebServerservlets,包的名字是hall,在Windows中编译历程以下:
DOS>cdC:JavaWebServerservlets
DOS>javachallYourServlet.java
注重在Windows下,年夜多半JDK1.1版本的javac请求目次名字前面加反斜杠()。JDK1.2已更正这个成绩,但是因为很多Web服务器仍然利用JDK1.1,因而大批的Servlet开辟者仍然在利用JDK1.1。
最初,Javac另有一个初级选项用于撑持源代码和.class文件的分隔安排,即你能够用javac的“-d”选项把.class文件安装到Web服务器所请求的目次。
3.2.3运转Servlet
在JavaWebServer下,Servlet应当放到JWS安装目次的servlets子目次下,而挪用Servlet的URL是http://host/servlet/ServletName。注重子目次的名字是servlets(带“s”),而URL利用的是“servlet”。因为HelloWorldServlet放进包hall,因而挪用它的URL应当是http://host/servlet/hall.HelloWorld。在其他的服务器上,安装和挪用Servlet的办法大概略有分歧。
年夜多半Web服务器还同意界说Servlet的别号,因而Servlet也大概用http://host/any-path/any-file.html情势的URL挪用而且举行设置完整依附于服务器范例,请参考服务器文档懂得细节??
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种语言,用以产生「小应用程序(Applet(s)) 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 是一种使用者不需花费很多时间学习的语言 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页:
[1]