第一个Servlet程序

 

第一个Servlet程序

 

Servlet

  Servlet是Java服务器端编程,不同于一般的Java应用程序,Servlet程序是运行在服务器上的,服务器有很多种,Tomcat只是其中一种。

 

程序实例

  在MyEclipse中新建一个Web Project。

  在src中新建一个包,其中新建一个类叫HelloWorldServlet。

  编写Servlet程序如下:

package com.shengqishiwind.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet
{
    @SuppressWarnings("deprecation")
    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException
    {
        // 首先将访问修饰符覆写为public

        // 设置内容类型
         resp.setContentType("text/html");

        PrintWriter out = resp.getWriter();

        out.println("<html><head><title>Hello World Sample</title></head>");
        out.println("<body><h1>Hello World Title<h1><h2>" +new Date().toLocaleString() + "</h2></body></html>");
        out.flush();

    }

}

 

  Servlet程序没有main方法,类一般都需要继承HttpServlet类。

 

web.xml

  web.xml叫做deployment descriptor,部署描述符。

 

  打开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-name>HelloWorldServletName</servlet-name>
    <servlet-class>com.shengqishiwind.servlet.HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorldServletName</servlet-name><!--  servlet-name 要和上面的保持一致-->
    <url-pattern>/HelloWorld</url-pattern><!--  注意前面要有斜线-->
    </servlet-mapping>
</web-app>

 

 

 

 

访问这个页面

  首先进行部署,这里采用在Tomcat的conf的server.xml的Host标签中加入:(详见使用MyEclipse开发第一个Web程序

 

 <Context path="/HelloWeb" docBase="E:\MDD\MyEclipseWorkspace\HelloWeb\WebRoot" reloadable="true"/>

 

 

  然后运行服务器:

  点击IDE中的Run Server按钮: 

  

  然后在浏览器中输入:http://localhost:8080/HelloWeb/HelloWorld

  就可以看到页面。

 

 

过程解释

 

  首先,服务器收到请求,根据其逻辑路径(HelloWeb),找到其物理路径("E:\MDD\MyEclipseWorkspace\HelloWeb\WebRoot")(配置文件中列出的);

  然后根据后面的HelloWorld,找到web.xml中对应的url-pattern,然后找到对应的名字:HelloWorldServletName,根据它找到对应的servlet,其中列出了类名:com.shengqishiwind.servlet.HelloWorldServlet,

  实例化这个类的对象,再执行其中的doGet()方法,将页面返回。

 

  注意,更改Java代码不需要重启服务器(因为server.xml配置文件中加了reloadable="true",所以更改代码时服务器会重启),但是更改配置代码(web.xml中代码)需要重启服务器。

  

  我们可以将Servlet看作是嵌套了HTML代码的Java类;可以将JSP看作是嵌套了Java代码的HTML页面。

 

参考资料

  圣思园张龙老师视频教程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值