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. hell 1>&2 2>&1 &>filename重定向的含义和区别

    当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 一.linux重定 ...

  2. JS获取当前时间到30天之后的日期区间

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. phpstudy2017版本的nginx 支持laravel 5.X配置

    之前做开发和学习一直用phpstudy的mysql服务,确实很方便,开箱即用.QQ群交流:697028234 现在分享一下最新版本的phpstudy2017 laravel环境配置. 最新版的phps ...

  4. PHP7.2.12-Configuration-Option

    # PHP7.2.12 <pre style="background-color: rgb(255,250,233);"> `configure' configures ...

  5. 关于父类私有属性在子类构造函数中super调用的解释

    package test; public class Car { private int carMoney; //汽车租金 private String carName; //汽车名字 private ...

  6. DIY远程移动图像监测(tiny6410+USB摄像头+motion+yeelink+curl)

    看到有博客上采用motion搭建移动图像监测系统,感觉很强大,但大多缺少远程监测能力,大多局限于局域网.OK,笔者手头刚好有一个30W像素的USB摄像头,那么借用yeelink服务,也来DIY一把,哈 ...

  7. “之”字形输出二叉树 python

    “之”字形输出二叉树即第1层从左到右输出,第2层从右到左输出,第3层从左到右输出......第2*n层从右到左输出,第2*n+1层从左到右输出,如下图所示二叉树,“之”字形输出的结果为:1-3-2-4 ...

  8. 阿里云windows时间同步服务地址

    偶然发现的, 记录一下 ntp1.aliyun.com

  9. 20155236 2016-2017-2 《Java程序设计》第六周学习总结

    20155236 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出 ...

  10. js setInterval每隔一段时间执行一次

    js setInterval每隔一段时间执行一次setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式.setInterval() 方法会不停地调用函数,直到 clearI ...