servlet测试

首先,打开myeclipse,file|new|Dynamic Web Project 会出现一个对话框,在Project name的文本框中输入:FirstServlet;然后点击finish,完成创建。

注意配置tomcat,点击工具栏的Window/Preferences/MyEclipse/Servers/Tomcat/Tomcat 7.x,然后选中你的tomcat,Enable,确定;

其次,展开项目,在src下新建New|Servlet,弹出对话框,在Java package中输入:cc.openhome(包名),className:HelloServlet,点击finish完成,如下:

添加蓝色部分

package cc.openhome;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

@WebServlet("/hello.view")

public class HelloServlet extends HttpServlet { //1.继承HttpServlet

  public HelloServlet() {   super();  }

  public void destroy() {   super.destroy();  }

  public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException { //2.重新定义doGet

    response.setContentType("text/html;charset=UTF-8");   //3.设置响应类型

    PrintWriter out = response.getWriter();   //4.取得响应输出对象

    String name=request.getParameter("name");   //5.取得请求参数

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("<HTML>");

    out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");

    out.println("<BODY>");

    out.println("<h1>Hello!"+name+"</h1>");   //6.数据输出到前端

    out.print("This is ");

    out.print(this.getClass());

    out.println(", using the GET method");

    out.println("  </BODY>");

    out.println("</HTML>");

    out.flush();   out.close();

  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("<HTML>");   out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

    out.println("  <BODY>");

    out.print("    This is ");

    out.print(this.getClass());

    out.println(", using the POST method");

    out.println("  </BODY>");

    out.println("</HTML>");

    out.flush();

    out.close();

  }

  public void init() throws ServletException {   // Put your code here  }

}

在HelloServlet.java 上右击选择 Run as / MyEclipse Server Application启动tomcat;

在浏览器地址栏输入http://localhost:8080/FirstServlet/hello.view?name=nihao会出现如下结果:

至于标注@WebServlet("/hello.view") 这表示URL是/hello.view,就会由HelloServlet.java来处理请求。

另外,url也可以在项目的WEB-INF/web.xml内设置,如:

<servlet>

  <servlet-name>HelloServlet</servlet-name>

  <servlet-class>cc.openhome.HelloServlet</servlet-class>

  <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

  <servlet-name>HelloServlet</servlet-name>

  <url-pattern>/hello.do</url-pattern>

</servlet-mapping>

当请求为/hello.do时,则有HelloServlet来处理,这分别是由<servlet-mapping>中的<servlet-name>和<url-pattern>来定义,而HelloServlet名称的Servlet,实际上是cc.openhome.HelloServlet类的实例,这分别是由<servlet>中的<servlet-name>和<servlet-calss>来定义,如果有多个Servlet在设置<load-on-startup>时,使用了相同的数字,则以其在web.xml中设置的顺序来初始Servlet,若<url-pattern>中的内容和标注中的内容一样,则web.xml会覆盖@WebServlet()标注

有三种方式可以设置处理Servlet请求的方式,请参考:

http://e.dangdang.com/html/reader.html;jsessionid=9798112171FADBF7AC2707188C1DF13F?productId=1900280541&bookUid=bb.135546768822699731

servlet的小例子的更多相关文章

  1. spring-mvc-两个个小例子

    1.用Eclipse创建一个工程,命名为spring2.0 并添加相应的jar包(我用的是4.0.5的版本)到 lib 包下: spring-webmvc-4.0.5.RELEASE.jar spri ...

  2. jetty 介绍以及小例子

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  3. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  4. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  5. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  6. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  7. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  8. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  9. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

随机推荐

  1. git入门篇

    git是一个分布式版本管理软件,总之是一个软件. github是一个代码托管平台,总之是一个网站. github这个网站使用git这个版本管理软件来托管代码. 相当于本地.公司服务器.Github网站 ...

  2. Java中处理异常的9个最佳实践

    Java中的异常处理不是一个简单的话题.初学者很难理解,甚至有经验的开发人员也会花几个小时来讨论应该如何抛出或处理这些异常. 这就是为什么大多数开发团队都有自己的异常处理的规则和方法.如果你是一个团队 ...

  3. hdu2176nim博弈

    就是要搞清楚nim博弈的原理 特别是证明方法,这一题就是第二条证明方法得出来的结论,只要a[i]^k<a[i]输出就行了 证明如下: 根据定义,证明一种判断position的性质的方法的正确性, ...

  4. 个人知识管理系统Version1.0开发记录(11)

    (1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracl ...

  5. IOS-网络(小文件下载)

    // // ViewController.m // IOS_0131_小文件下载 // // Created by ma c on 16/1/31. // Copyright © 2016年 博文科技 ...

  6. halcon之屌炸天的自标定(2)

    自 halcon之屌炸天的自标定(1)发出以后,有朋友看了文章也应用到了自己的测量项目中,效果奇好,成功搞定了20um的需求,可喜可贺.   在halcon之屌炸天的自标定(1)中我提到了一片论文: ...

  7. PLSQL 触发器

    触发器权限 数据库创建用户时想要在本用户下使用触发器,需要给用户触发器的权限 使用DBA用户执行  GRANT CREATE TRIGGER TO user_name; 如果想在当前用户下创建其他用户 ...

  8. Hadoop1.x HDFS系统架构

    1. HDFS中的一些概念1.1 数据块1.2 NameNode和DataNode1.2.1 管理者:Namenode1.2.1 工作者:Datanode1.3 Secondary Namenode1 ...

  9. Linux下MySQL的安装和启动(转载)

    原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm 一.MySQL各类安装方法的比较 在Linux系统下,MySQL有3种主要的安装方式,分别是 ...

  10. /usr/include/c++/4.8/functional:1697:61: error: no type named ‘type’ in ‘class std::result_of<std::_Mem_fn<void

    /usr/include/c++/4.8/functional:1697:61: error: no type named ‘type’ in ‘class std::result_of<std ...