`
chaoyi
  • 浏览: 288589 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

永远的“Hello World” —— 第一个Servlet程序

 
阅读更多

本章目标
掌握Servlet程序的基本组成
掌握Servlet程序的配置

 

实现要求
如果要开发一个可以处理HTTP请求的Servlet程序,肯定是要继承HttpServlet类,而且在自定义的Servlet类中至少还要覆写HttpServlet类中提供的doGet()方法
protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException

 

HelloServlet.java

package org.lxh.Servletdemo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {//继承HttpServlet
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {//覆写doGet()方法
		PrintWriter out = response.getWriter();//准备输出
		out.println("<html>");//输出html元素
		out.println("<head><title>a servlet</title></head>");//输出html元素
		out.println("<body>");//输出html元素
		out.println("<h3>hello wored</h3>");//输出html元素
		out.println("</body>");//输出html元素
		out.println("</html>");//输出html元素
		out.close();//关闭输出
	}
}

 

编译时会出现找不到servlet包的错误
如果用户使用手工的方式编译一个Servlet的话,则有可能在编译时会出现以下的错误提示:
    软件包 javax.servlet 不存在
    软件包 javax.servlet.http 不存在
这两个Servlet的开发包实际上是保存在%TOMCAT_HOME%\lib\servlet-api.jar路径下,但是由于现在使用javac命令编译的时候,是使用的JAVA SE环境编译的,但是Servlet本身已经属于JAVA EE的应用范畴,所以就出现了找不到开发包的情况,此时,有两种方式:
    一种是通过classpath指定,在classpath中加入此开发包的路径
    另外一种方式是将Servlet的开发包保存在%JAVA_HOME%\jdk1.6.0_02\jre\lib\ext目录之中  

 

配置web.xml文件

  <servlet><!-- 定义servlet -->
   <servlet-name>hello</servlet-name><!-- 与 servlet-mapping 相对应 -->
   <servlet-class>org.lxh.Servletdemo.HelloServlet</servlet-class><!-- 定义包.类名称 -->
  </servlet>
  <servlet-mapping><!-- 映射路径 -->
   <servlet-name>hello</servlet-name><!-- 与servlet相对应 -->
   <url-pattern>/HelloServlet</url-pattern><!-- 页面的映射路径 -->
  </servlet-mapping>

 

效果图:

 

修改web.xml,增加多个映射路径

<servlet><!-- 定义servlet -->
   <servlet-name>hello</servlet-name><!-- 与 servlet-mapping 相对应 -->
   <servlet-class>org.lxh.Servletdemo.HelloServlet</servlet-class><!-- 定义包.类名称 -->
  </servlet>
  <servlet-mapping><!-- 映射路径 -->
   <servlet-name>hello</servlet-name><!-- 与servlet相对应 -->
   <url-pattern>/HelloServlet</url-pattern><!-- 页面的映射路径 -->
  </servlet-mapping>
  <!--
   修改web.xml,增加多个映射路径 go
   -->
  <servlet-mapping>
   <servlet-name>hello</servlet-name>
   <url-pattern>/Hello.asp</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
   <servlet-name>hello</servlet-name>
   <url-pattern>/Hello.jsp</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
   <servlet-name>hello</servlet-name>
   <url-pattern>/Hello/*</url-pattern>
  </servlet-mapping>
  <!-- end -->

效果图:

 

小结
掌握Servlet的开发
掌握Servlet的配置
 

  • 大小: 12.2 KB
  • 大小: 11.5 KB
0
1
分享到:
评论

相关推荐

    云应用开发 ——Google App Engine & Google Web Toolkit入门指南

    6.2.2 实例——Servlet版本HelloWorld 第7章 数据操作 7.1 概述 7.2 定义数据类 7.3 创建,获取和删除数据 7.4 查询和索引 7.5 事务 7.6 关系 7.7 实例——员工管理系统 第8章 国际化 8.1 普通文本国际化 8.2 ...

    Java Web程序设计教程

    2.4项目实战——第一个javaee应用:helloworld 28 2.4.1开始创建第一个javaee应用 28 2.4.2熟悉helloworld框架结构 29 本章小结 32 课后练习 32 第3章jsp和servlet 33 3.1开发第一个jsp+servlet应用 33 3.1.1...

    JSP2.0技术手册pdf(带示例源码).zip

    11-3 实现阶段第一个 Filter 11-4 对请求做统一的认证处理 11-5 ServletRequest 和 ServletResponse 之 Wrapper 类 11-6 使用 Filter 来解决中文问题 11-7 Listener 接口简介 11-8 ServletContext Listener 11-9 ...

    从Java走向Java+EE+.rar

    17.3 实例——分布式的HelloWorld 260 17.4 小结 264 第18章 Java消息服务 265 18.1 消息系统和JMS 265 18.1.1 JMS API 265 18.1.2 点对点消息模式 266 18.1.3 发布者/订阅者模式 267 18.1.4 同步和...

    java web 视频、电子书、源码(李兴华老师出版)

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 ...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 ...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、...

    李兴华Java Web开发实战经典(高清版) Part2

    9.2、永远的“HelloWorld”:第一个Servlet程序 9.3、Servlet与表单 9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 ...

    java源码包---java 源码 大量 实例

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...

    java源码包2

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包3

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包4

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    iuhyiuhkjh908u0980

    我们的Hello World程序是你开发基于Struts2框架程序的第一步.这里我们会提供循序渐进的教程来开发基于Struts2框架的Hello World程序. 教程包含基本的步骤像创建目录结构,建立build.xml文件来使用Ant构建工具创建程序...

Global site tag (gtag.js) - Google Analytics