JavaWeb之Servlet入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb之Servlet入门相关的知识,希望对你有一定的参考价值。

1. Servlet介绍

        Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

2. 第一个Servlet程序

        1)  新建一个网站

        打开MyEclipse,菜单File—New—Web Project,在Project Name中输入名称,本例为MyServletWeb,点击Finish,完成新建。

        2)  新建一个Class实现Servlet接口

        菜单File—New—Class,包名com.servlet.action,类名HelloServlet,实现接口Servlet。

package com.servlet.action;

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 HelloServlet 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 config) throws ServletException {
        // TODO Auto-generated method stub
    }
    @Override  
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("I told tou Hello!");
    }
}

        其中:

          1. init方法:初始化Servlet,该方法只有在第一次访问Servlet的时候被调用一次。

          2. destory方法:销毁Servlet。

          3. service方法:访问该Servlet所要处理的业务逻辑,req:从客户端获取的数据,res:向客户端返回的数据。

       我们在service方法中添加System.out.println("I told tou Hello!"); 向控制台输出一句话。

        3)在WebRoot----WEB-INF中新建web.xml文件(web.xml名字不能变),代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <!-- 名称可以随意更换,但是必须和<servlet-mapping>中<servlet-name>保持一致 -->
        <servlet-name>Hello</servlet-name>
        <!-- 对应的实现了servlet接口的类的全名 --> 
        <servlet-class>com.servlet.action.HelloServlet</servlet-class>        
    </servlet>
    <servlet-mapping>
        <!-- 名称可以随意更换,但是必须和<servlet>中<servlet-name>保持一致 -->
        <servlet-name>Hello</servlet-name>
        <!-- 要访问的URL -->
        <url-pattern>/Hello</url-pattern>
    </servlet-mapping>
</web-app>

       4)将网站部署到tomcat服务器上,然后运行taomcat服务,启动浏览器,在地址栏输入:

             http://127.0.0.1:8080/MyServletWeb/Hello,可以看到在MyEclipse中的Console窗口已经打印了:

              I told tou Hello!

3. 解析

        当我们在地址栏中访问http://127.0.0.1:8080/MyServletWeb/Hello的时候,tomcat服务器首先会查找在其WebApp里MyServletWeb/WEB-INF/web.xml文件,查找utl-pattern为/Hello的servlet配置,然后根据起servlet-name(本例为Hello)找到相应的servlet-class(本例为com.servlet.action.HelloServlet),并执行其service方法。

以上是关于JavaWeb之Servlet入门的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb核心之Servlet

JavaWeb核心之Servlet

JavaWeb核心之Servlet

《遇见狂神说》Javaweb之Servlet技术

JavaWeb之Servlet

JavaWeb学习总结JavaWeb开发入门