• Eclipse 和MyEclipse下Servlet Java Web开发(2)


    MyEclipse和Eclipse创建Servlet

    针对javax.servlet.Servlet

    新建一个Web Project,名称为HelloWorld,一路next,注意最后把生成web.xml勾选上。右键src,添加class

    包名是com.alex.ss,类名AServlet,interface 后面点击add,让其实现javax.servlet.Servlet

    IDE会自动生成AServlet.java的代码,我们在响应请求的方法service中 进行后台打印AServlet is serving your request...

    package com.alex.ss;
    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 AServlet implements Servlet {
        @Override
        public void destroy() {}
        @Override
        public ServletConfig getServletConfig() {return null;}
        @Override
        public String getServletInfo() {return null;}
        @Override
        public void init(ServletConfig arg0) throws ServletException {}
        @Override
        public void service(ServletRequest arg0, ServletResponse arg1)
                throws ServletException, IOException {
            System.out.println("AServlet is serving your request...");
        }}

     最关键的是如何将一URL和该Servlet绑定,当用户请求该URL的时候,由该Servlet对象相应。

    在web.xml文件中,<web-app>节点中需要两组节点 ,如下

      <servlet>
          <servlet-name>servletAAA</servlet-name>
          <servlet-class>com.alex.ss.AServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>servletAAA</servlet-name>
          <url-pattern>/AServlet</url-pattern>
      </servlet-mapping>

    在这两组节点中,servletAAA名称由程序员决定,需要一致,这样/AServlet和类com.alex.ss.AServlet就对应上了。

    访问http://localhost:8080/HelloWorld/AServlet的时候,系统在后台打印数据。

     针对javax.servlet.http.HttpServlet

    在刚才的基础上,右键src 新建一个servlet,此时默认就是HttpServlet

    使用MyEclipse

    下一步关键是servlet mapping,和上面类似写成/BServlet

    此时IDE会在你刚才web.xml文件添加如下内容

    。。。。。
    <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>BServlet</servlet-name>
        <servlet-class>com.alex.ss.BServlet</servlet-class>
      </servlet>
    
    。。。。。。。
    <servlet-mapping>
        <servlet-name>BServlet</servlet-name>
        <url-pattern>/BServlet</url-pattern>
      </servlet-mapping>

    访问http://127.0.0.1:8080/HelloWorld/BServlet,doGet方法返回对应信息。

    如果是Eclipse的话

    下一步,采用默认,关键就是servlet的name和URL mapping,其余不用

    注意关键点:在web.xml文件中配置显得很罗嗦,Eclipse在类BServlet前面使用annotation

    来指定类和URL的关系

    ServletContext 的使用

    1.获取ServletContext对象

    对于实现Servlet接口的类

    在init方法中

    @Override
        public void init(ServletConfig arg0) throws ServletException {
            ServletContext sc= arg0.getServletContext();

    对于实现HttpServlet接口的类

    所有的方法都可以使用

    ServletContext sc=this.getServletContext();

    2.使用ServletContext

    主要是setAttribute 和getAttribute方法,

    setAttribute(String arg0, Object arg1)
    getAttribute(String arg)
     
  • 相关阅读:
    忏悔书(IT攻城狮)
    【博文汇总】彩色图像分割 Menu
    【Android】Android 4.2源码下载(ubuntu 12.10)
    【My Project】织物疵点检测机器视觉系统 软件测试平台
    【NFC】Android NFC API Reference中英文
    【分享】RSS订阅技巧及工具和实用RSS链接分享
    【流媒體】live555—VS2010/VS2013 下live555编译、使用及测试
    vc++ win32项目属性介绍(二、c/c++)
    c风格回调函数 vs c++风格虚基类,关于接口定义和调用的对比
    关于移动技术的我的看法(二)
  • 原文地址:https://www.cnblogs.com/legion/p/9051207.html
Copyright © 2020-2023  润新知