• JavaWeb之Servlet入门(一)


    1. Servlet介绍

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

    2. 第一个Servlet程序

            1)  新建一个网站

            打开MyEclipse,菜单File—New—Web Project,在Project Name中输入名称,本例为MyServletWeb(读者可自由命名,会影响到将来网站部署后的URL访问地址),点击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的节点(因为我要访问的是.../MyServlet/Hello),然后根据其对应的<servlet-name>节点的值(本例为Hello)找到相应的<servlet-class>(本例为com.servlet.action.HelloServlet),并执行其service方法。

    笔者只是初学者,开此博客的初衷是为了给自己的学习过程留一个痕迹。所以您可能发现笔者措辞不严谨、逻辑不合理,甚至代码有错误、结论很偏颇等等。笔者感激各位的讨论和指正,并在此不胜感激!拜谢!欢迎加QQ群讨论:852410026
  • 相关阅读:
    【就业】腾讯VS百度
    MySQL基础知识
    PHP读取远程文件并保存
    【GTK3.0】背景设置
    【GTK】信号量(signal)大全
    c# 调用win32 api
    PHP写窗体程序
    一个苏州IT人的5年挨踢经历面试篇(之二)
    【c++ Primer 】 4.10复习题 12题(int)、(int&)和(int*)
    线段树技巧
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/5215159.html
Copyright © 2020-2023  润新知