Servlet创建完美教程

 简介:Servlet其实是Server Let的缩写,是服务器端应用程序。  java中有一个applet是客户端应用程序,与servlet对应。applet已经过时。Servlet作用:能在B/S架构中,接受请求,返回响应的技术。其实和jsp的功能是一样的,可以用jsp写的东西都可以用servlet写,他其实是jsp的前身。因为Servlet用起来并不是很方便,所以后来出现了jsp。Servlet其实就是一个特殊的java类,具有跨平台(所有类运行在jvm虚拟机上),性能好,以多线程的方式运行。特点:Servlet必须运行在容器(web服务器)中,比如Tomcat,不能单独运行。

实现方式:

1.自定义类,实现javaEE中的一个接口

javax.servlet.Servlet接口并重新其中的所有方法就可以了。因为servlet可以接受并响应请求,我们可以知道,他被访问后会自动执行某些东西的,实现类后发现其中有五个必须的方法,而service方法就是最重要的。如下是我定义的Servlet类MyServlet类。

package com.servlettest;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyServlet implements Servlet{

@Override
public void destroy() {
// TODO Auto-generated method stub

}

@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}

@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}

@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
//接受客户段请求,并返回响应。
System.out.println("调用了servlet了");
}

}

2.配置web.xml文件

只写了这个类,在客户端还是访问不到的,我们都知道,客户端访问服务器资源是通过url访问的,所以,这里需要在web.xml中配置我们需要访问的Servlet类的url,具体设置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app><!-- web.xml文件根目录 -->
<welcome-file-list><!-- 默认访问本项目时的资源页面 -->
<welcome-file>home.jsp</welcome-file>
</welcome-file-list>
<!-- 配置一个servlet -->
<servlet>
<servlet-name>servlet_name</servlet-name><!-- 随便取的名字(介绍这个servlet) -->
<servlet-class>com.servlettest.MyServlet</servlet-class><!-- 这个Servlet对应的实体类 -->
</servlet>
<servlet-mapping>
<servlet-name>servlet_name</servlet-name><!-- 你知道的那个servlet,就是你配置的时候取得名字 -->
<url-pattern>/MyServlet</url-pattern><!-- 指定客户端访问这个servlet时用的资源名,以/开头 -->
</servlet-mapping>
</web-app>

我的理解:<servlet>标签其实是在介绍我们之前定义的MyServlet这个类,是在像jvm介绍我这个Servlet的名字,类具体在哪里。

      <servlet-mapping>这个标签则是给客户端介绍这个类的名字和对外应该怎么找到他。两者相互映射,都是同一个对象。

3.地址栏输入     站点+url-pattern标签的地址

http://localhost:8080/servlet_demo/MyServlet

这样在客户端访问的时候,只要url后面访问的是这个站点上的/MyServlet就会触发service方法,结果控制台打印----调用了servlet了。

上一篇:iOS 环信集成项目应用


下一篇:BC 2015在百度之星程序设计大赛 - 预赛(1)(KPI-树董事长)