Servlet技术主要是为了使用Web上的HTTP协议而设计的。servlet是在WEB服务器上运行的程序。Java Servlet可以用于处理客户请求或生成动态Web网页。先一个实例。然后解释。

先编辑如下文件,暂且命名为FirstServlet.java

import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet{ 
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response)throws ServletException,
            java.io.IOException{
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title> Servlet 测试</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Hello,Java Servlets");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }  
}

先要在电脑上配置好JDK,下载tomcat 7.在tomcat/lib/servlet-api.jar将该jar包的路径,配置到环境变量中的系统变量,CLASSPATH中,“;C:\Users\Administrator\Desktop\java\servlet-api.jar”,注意封号,因为javax.servlet和javax.servlet.http这两个接口是在servlet-api.jar包中实现的。然后在FirstServlet.java的路径下,javac FirstServlet.java编译后,生成FirstServlet.class。然后将FirstServlet.class拷贝到你安装的tomcat 7.0中的tomcat/webapps/examples/WEB-INF/class下,(里面的jsp、servlets、websocket、websocket-deprecated都是很好的示例)。然后在路径tomcat/webapps/examples/WEB-INF/web.xml中添加

<servlet>(作用:用来命名Servlet的)
        <servlet-name>FirstServlet</servlet-name>
        <servlet-class>FirstServlet</servlet-class>(若有package名,要用.隔开)
</servlet>

<servlet-mapping>(作用:为Servlet提供一个缺省的URL)
        <servlet-name>FirstServlet</servlet-name>
        <url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>

然后,在tomcat/bin/startup.bat下,双击startup.bat启动tomcat容器。输入路径:http://localhost:8080/examples/FirstServlet即可看到输出:Hello,Java Servlets。

在web.xml中添加的两个标签<servlet></servlet>和<servlet-mapping></servlet-mapping>,命名和定制URL的作用。我们可以为Servlet文件命名,并定制URL路径,其中定制URL是依赖命名的,命名必须在定制URL之前。例如:

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>org.whatisjava.TestServlet</servlet-class>
    <init-param>
          <param-name>userName</param-name>
          <param-value>Daniel</param-value>
    </init-param>
    <init-param>
          <param-name>E-mail</param-name>
          <param-value>125485762@qq.com</param-value>
    </init-param>
</servlet>

用上面这个配置,servlet可以调用getServletConfig().getInitParameter("param1")获得参数名对应的值。

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>org.whatisjava.TestServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>servlet1</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

作用:实现了命名,并为Servlet定制URl

 

Java面试题总结系列 Servlet的更多相关文章

  1. 2019年Java面试题基础系列228道,题目汇总,可以先看会多少

    Java面试题(一) 1.面向对象的特征有哪些方面? 2.访问修饰符 public,private,protected,以及不写(默认)时的区别? 3.String 是最基本的数据类型吗? 4.flo ...

  2. 2019年Java面试题基础系列228道(1)

    1.面向对象的特征有哪些方面? 面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为 ...

  3. 2019年Java面试题基础系列228道(3)

    51.类 ExampleA 继承 Exception,类 ExampleB 继承ExampleA. 有如下代码片断: try { throw new ExampleB("b")}c ...

  4. JAVA面试题解惑系列(七)——使用日期和时间

    日期和时间,不仅在考试面试题.处理的问题.似乎没有哪个项目能够避开它们.我们经常在处理用户的出生年月日.注冊日期,订单的创建时间等属性时用到,由此可见其重要性.  java.util.Date类  提 ...

  5. Java面试题_第二阶段(Servlet、HTTP、Session、JSP、 Ajax、Filter、JDBC、Mysql、Spring)

    1.1. 描述Servlet调用过程? 答案: (1)在浏览器输入地址,浏览器先去查找hosts文件,将主机名翻译为ip地址,如果找不到就再去查询dns服务器将主机名翻译成ip地址. (2)浏览器根据 ...

  6. 2019年Java面试题基础系列228道(2)

    21.描述一下 JVM 加载 class 文件的原理机制? JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的 Java 运行时系统组件,它 ...

  7. 2019年Java面试题基础系列228道(6)

    51.ArrayList 与 LinkedList 的不区别? 最明显的区别是 ArrrayList 底层的数据结构是数组,支持随机访问,而LinkedList 的底层数据结构书链表,不支持随机访问. ...

  8. 2019年Java面试题基础系列228道(5)

    21.存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为C 么?如 C = (C) B: 这属于强制类型转换,如果被转换的B实例不是C类型,会有异常 比如你的ABC分别对应动物,猫,黑猫. ...

  9. 2019年Java面试题基础系列228道(4)

    1.Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 vo ...

随机推荐

  1. Java和eclipxe的安装以及第一个程序

    首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意事项:安装 ...

  2. Fiddler (六) 最常用的快捷键

    使用QuickExec Fiddler2成了网页调试必备的工具,抓包看数据.Fiddler2自带命令行控制,并提供以下用法. Fiddler的快捷命令框让你快速的输入脚本命令. 键盘快捷键 按ALT+ ...

  3. php中的常用函数

    1.随机数和时间 echo rand(); //随机数生成器 echo rand(0,10); //某个范围之间的随机数:第一个参数最小,第二个参数最大:例子是从0-10之间的随机数 echo tim ...

  4. salesforce 零基础学习(二十二)Test简单使用

    本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/a ...

  5. spring cvc-elt.1: Cannot find the declaration of element 'beans'解决办法

    转载自http://blog.csdn.net/legendj/article/details/9950963 今天在写spring aop示例的时候,在spring.xml文件中添加spring a ...

  6. Java EE开发平台随手记4——Mybatis扩展3

    接着昨天的Mybatis扩展——IDaoTemplate接口. 扩展9:批量执行 1.明确什么是批量执行 首先说明一下,这里的批量执行不是利用<foreach>标签生成一长串的sql字符串 ...

  7. iReport 下载地址

    iReport 下载地址: https://osdn.jp/projects/sfnet_ireport/releases/# 来自为知笔记(Wiz)

  8. 仿SGI STL的traits技法

    首先是iterator traits,这个是用来萃取迭代器的特性的 #ifndef _STL_ITERATOR_H_ #define _STL_ITERATOR_H_ #include <cst ...

  9. Session监听器

    Session监听器,是用来监听session对象创建和关闭的.有时我们需要在session创建或关闭时执行一些操作.这是就可以使用Session Listenner. .在项目的web.xml文件中 ...

  10. js实现图片加载特效(从左到右,百叶窗,从中间到两边)

    /* 网上百度的,感觉”从中间到两边“的效果写的不是很好,改了一下,感觉可以了!*/<html> <head> <title></title> < ...