知识大全 Java Servlet 和 JSP入门教程(3)
Posted 知
篇首语:不一定终身受雇,但一定终身学习。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java Servlet 和 JSP入门教程(3)相关的知识,希望对你有一定的参考价值。
Java Servlet 和 JSP入门教程(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Servlet
Servlet基本结构
下面的代码显示了一个简单Servlet的基本结构 该Servlet处理的是GET请求 所谓的GET请求 如果你不熟悉HTTP 可以把它看成是当用户在浏览器地址栏输入URL 点击Web页面中的链接 提交没有指定METHOD的表单时浏览器所发出的请求 Servlet也可以很方便地处理POST请求 POST请求是提交那些指定了METHOD= POST 的表单时所发出的请求 具体请参见稍后几节的讨论
import java io *; import javax servlet *; import javax servlet *;
public class SomeServlet extends HttpServlet public void doGet(HttpServletRequest request HttpServletResponse response) throws ServletException IOException
// 使用 request 读取和请求有关的信息(比如Cookies) // 和表单数据
// 使用 response 指定HTTP应答状态代码和应答头 // (比如指定内容类型 设置Cookie)
PrintWriter out = response getWriter(); // 使用 out 把应答内容发送到浏览器
如果某个类要成为Servlet 则它应该从HttpServlet 继承 根据数据是通过GET还是POST发送 覆蓋doGet doPost方法之一或全部 doGet和doPost方法都有两个参数 分别为HttpServletRequest 类型和HttpServletResponse 类型 HttpServletRequest提供访问有关请求的信息的方法 例如表单数据 HTTP请求头等等 HttpServletResponse除了提供用于指定HTTP应答状态( 等) 应答头(Content Type Set Cookie等)的方法之外 最重要的是它提供了一个用于向客户端发送数据的PrintWriter 对于简单的Servlet来说 它的大部分工作是通过println语句生成向客户端发送的页面
注意 doGet和doPost抛出两个异常 因此你必须在声明中包含它们 另外 你还必须导入java io包(要用到PrintWriter等类) javax servlet包(要用到HttpServlet等类)以及javax servlet 包(要用到HttpServletRequest类和HttpServletResponse类)
最后 doGet和doPost这两个方法是由service方法调用的 有时你可能需要直接覆蓋service方法 比如Servlet要处理GET和POST两种请求时
输出纯文本的简单Servlet
下面是一个输出纯文本的简单Servlet
HelloWorld java
package hall;
import java io *; import javax servlet *; import javax servlet *;
public class HelloWorld extends HttpServlet public void doGet(HttpServletRequest request HttpServletResponse response) throws ServletException IOException PrintWriter out = response getWriter(); out println( Hello World );
Servlet的编译和安装
不同的Web服务器上安装Servlet的具体细节可能不同 请参考Web服务器文档了解更权威的说明?俣ㄊ褂?Java Web Server(JWS) 则Servlet应该安装到JWS安装目录的servlets子目录下 在本文中 为了避免同一服务器上不同用户的Servlet命名冲突 我们把所有Servlet都放入一?龆懒⒌陌?hall中 如果你和其他人共用一个服务器 而且该服务器没有 虚拟服务器 机制来避免这种命名冲突 那么最好也使用包 把Servlet放入了包hall之后 HelloWorld java实际上是放在servlets目录的hall子目录下
大多数其他服务器的配置方法也相似 除了JWS之外 本文的Servlet和JSP示例已经在BEA WebLogic和IBM WebSphere 下经过测试 WebSphere具有优秀的虚拟服务器机制 因此 如果只是为了避免命名冲突的话并非一定要用包
对于没有使用过包的初学者 下面我们介绍编译包里面的类的两种方法
一种方法是设置CLASSPATH 使其指向实际存放Servlet的目录的上一级目录(Servlet主目录) 然后在该目录中按正常的方式编译 例如 如果Servlet的主目录是C:\\JavaWebServer\\servlets 包的名字(即主目录下的子目录名字)是hall 在Windows下 编译过程如下
DOS> set CLASSPATH=C:\\JavaWebServer\\servlets;%CLASSPATH% DOS> cd C:\\JavaWebServer\\servlets\\hall DOS> javac YourServlet java
第二种编译包里面的Servlet的方法是进入Servlet主目录 执行 javac directory\\YourServlet java (Windows)或者 javac directory/YourServlet java (Unix) 例如 再次假定Servlet主目录是C:\\JavaWebServer\\servlets 包的名字是hall 在Windows中编译过程如下
DOS> cd C:\\JavaWebServer\\servlets DOS> javac hall\\YourServlet java
注意 在Windows下 大多数JDK 版本的javac要求目录名字后面加反斜杠(\\) JDK 已经改正这个问题 然而由于许多Web服务器仍旧使用JDK 因此大量的Servlet开发者仍旧在使用JDK
最后 Javac还有一个高级选项用于支持源代码和 class文件的分开放置 即你可以用javac的 d 选项把 class文件安装到Web服务器所要求的目录
运行Servlet
在Java Web Server下 Servlet应该放到JWS安装目录的servlets子目录下 而调用Servlet的URL是//host/servlet/ServletName 注意子目录的名字是servlets(带 s ) 而URL使用的是 servlet 由于HelloWorld Servlet放入包hall 因此调用它的URL应该是//host/servlet/hall HelloWorld 在其他的服务器上 安装和调用Servlet的方法可能略有不同
cha138/Article/program/Java/JSP/201311/20765相关参考
知识大全 Java Servlet 和 JSP入门教程(4)
JavaServlet和JSP入门教程(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 输出
知识大全 Java Servlet 和 JSP入门教程(2)
JavaServlet和JSP入门教程(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装
JSP和Servlet配置详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先是下载工具
JSP和Servlet的性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在本文中带领你学
在jsp和servlet的开发中今天自己做的一个小例子中出现了中文乱码问题用了许多方法发现还是解决不了最后我用了过滤器才算终结 此方法总结如下在jsp页面中使用<%@pagepageEnc
Servlet和JSP迈上新台阶 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 即将面世的JEE
浅析Servlet和Jsp中的多国语言显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因为一
知识大全 Tomcat下JSP、Servlet和JavaBean环境配置
Tomcat下JSP、Servlet和JavaBean环境配置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
高性能、高弹性JSP和Servlet性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你的
高性能高弹性JSP和Servlet性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你的J