使用Eclipse开发动态Javaweb项目

一、Eclipse的使用

1. 把开发选项切换到 JavaEE

2. 可以在 Window -> Show View 中找到 Package Explorer, 并把其拖拽到开发区的左边

3. 在 Servers 面板中新建 Tomcat 服务器. 一定要关联到 Tomcat 安装的根目录

4. 新建一个 Dynamic Web Project. 其中 Target Runtime 选择 Tomcat合适的版本

5. 开发 Java WEB 应用

6. 可以通过 run on server  来运行 WEB 项目.

二、Servlet 的 HelloWorld

1. 创建一个 Servlet 接口的实现类.
public class HelloServlet implements Servlet

2. 在 web.xml 文件中配置和映射这个 Servlet
    <!-- 配置和映射 Servlet -->
    <servlet>
        <!-- Servlet 注册的名字 -->
        <servlet-name>helloServlet</servlet-name>
        <!-- Servlet 的全类名 -->
        <servlet-class>me.javaweb.HelloServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <!-- 需要和某一个 servlet 节点的 serlvet-name 子节点的文本节点一致 -->
        <servlet-name>helloServlet</servlet-name>
        <!-- 映射具体的访问路径: / 代表当前 WEB 应用的根目录. -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

3. Servlet 容器: 运行 Servlet、JSP、Filter 等的软件环境.
1). 可以来创建 Servlet, 并调用 Servlet 的相关生命周期方法.
2). JSP, Filter, Listener, Tag ...

4. Servlet 生命周期的方法: 以下方法都是由 Serlvet 容器负责调用.
1). 构造器: 只被调用一次. 只有第一次请求 Servlet 时, 创建 Servlet 的实例. 调用构造器. 这说明 Serlvet 是单实例的!
2). init 方法: 只被调用一次. 在创建好实例后立即被调用. 用于初始化当前 Servlet.
3). service: 被多次调用. 每次请求都会调用 service 方法. 实际用于响应请求的.
4). destroy: 只被调用一次. 在当前 Servlet 所在的 WEB 应用被卸载前调用. 用于释放当前 Servlet 所占用的资源.

5. load-on-startup 参数:
1).  配置在 servlet 节点中:
    <servlet>
        <!-- Servlet 注册的名字 -->
        <servlet-name>secondServlet</servlet-name>
        <!-- Servlet 的全类名 -->
        <servlet-class>me.javaweb.SecondServlet</servlet-class>
        <!-- 可以指定 Servlet 被创建的时机 -->
        <load-on-startup>2</load-on-startup>
    </servlet>
2). load-on-startup: 可以指定 Serlvet 被创建的时机. 若为负数, 则在第一次请求时被创建.若为 0 或正数, 则在当前 WEB 应用被Serlvet 容器加载时创建实例, 且数组越小越早被创建.

6. 关于 serlvet-mapping:
1). 同一个Servlet可以被映射到多个URL上,即多个 <servlet-mapping> 元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。
2). 在Servlet映射到的URL中也可以使用 * 通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。
<servlet-mapping>
    <servlet-name>secondServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

OR

<servlet-mapping>
    <servlet-name>secondServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

注意: 以下的既带 / 又带扩展名的不合法.
<servlet-mapping>
    <servlet-name>secondServlet</servlet-name>
    <url-pattern>/*.action</url-pattern>
</servlet-mapping>

如果,您对我的这篇博文有什么疑问,欢迎评论区留言,大家互相讨论学习。
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博文感兴趣,可以关注我的后续博客,我是【AlbertRui】。

转载请注明出处和链接地址,欢迎转载,谢谢!

最新文章

  1. Atitit &#160;数据库的事件机制--触发器与定时任务attilax总结
  2. [DFNews] EnCase v7.08发布
  3. 解决passwd 为普通用户设密码 不成功的方法
  4. centos下pip安装mysql_python
  5. jQuery Easy UI 开发笔记
  6. [IOS UIScrollView+PageControl]信息展示横幅
  7. C puzzles详解【21-25题】
  8. UIActivityIndicatorView的使用
  9. w530 在ubuntu 12.04 _x64 背光调节方法
  10. hibernate的反转引擎生成两个实体类的问题
  11. SET与SPLIT
  12. SeekBar
  13. shiro实战系列(四)之配置
  14. redis持久化RDB和AOF-转载
  15. redis linux安装过程回顾
  16. python ssh登录
  17. .NET Web开发技术简单整理 转
  18. [LOJ6261]一个人的高三楼
  19. chrome crx插件存档
  20. jquery中的$().each和$.each的区别

热门文章

  1. echarts在react项目中的使用
  2. 【转】8年!我在OpenStack路上走过的坑。。。
  3. python中的内存机制
  4. Java类方法重载与重写
  5. 有不少朋友问我Halcon和Opencv的区别?
  6. kuberenetes CRD开发指南
  7. itextpdf 解析带中文的html问题
  8. Android通过辅助功能实现抢微信红包原理简单介绍
  9. 【Maven】Mac 使用 zsh 后 mvn 命令就无效
  10. Js 基础知识1