用Eclipse 开发Dynamic Web Project应用程序

一、创建Server
通过菜单选择File > New > Other>Server,创建Server,如下图所示。

二、创建Dynamic Web Project项目

1、菜单选择File > New >other>web> Dynamic Web Project,新建项目,项目名helloweb,其他值默认。

2、设置项目helloweb的Java Build Path

鼠标右击项目helloweb>Build Path>Configue Build Path…>Java Build Path>Libraries>Add External JARs

选中apache-tomcat-8.0.9\lib中的servlet-api.ja

三、创建和运行JSP文件
1、右击项目,New >other>web>JSP File ,输入index.jsp,其他值默认。
2、在<body></body>中间处插入如下代码:
<% java.util.Date d =new java.util.Date();%>
<h1>Today's date is<%= d.toString()%></h1>
3、index.jsp文件鼠标右击 run as>run on server,查看运行结果。

四、创建和运行Servlet文件
1、右击项目,New >other>web>Servlet,java package为:com.demo,class name为:HelloWorldServlet
2、在doGet方法中添加如下代码:
response.getWriter().write("Hello, world!");
3、运行Servlet,重新启动Server后看结果

JAVAWEB之Servlet的简介,并实现一个Servlet的HelloWorldServlet 

Servlet 简介:

  • Java Servlet 是和平台无关的服务器端组件
  • Servlet 运行在 Servlet 容器中
  • Servlet 本质上是一个Java类,放在 Servlet 容器中
  • Servlet 容器负责 Servlet 和客户的通信以及调用 Servlet 的方法
  • Servlet 容器可以创建一个 Servlet也可以销毁一个 Servlet 掌握整个 Servlet 生命周期
  • Servlet 和客户的通信采用"请求和响应"的模式

Servlet 功能:

  • 创建并返回基于客户请求的动态 HTML 页面
  • 可在现有的 HTML 页面中创建并嵌入部分 HTML 页面
  • 与其他服务器资源进行通信(数据库或其他基于 Java 的应用程序)

第一个 Servlet 程序:

  • 首先下载 Tomcat 并且在 Eclipse 上配置 Server 运行环境完成部署
  • 新建一个动态的 JAVAWEB 项目
  • 新建一个 Java 类实现 Servlet 类

(一)注解方式

在Servlet中,设置了@WebServlet注解,当请求该Servlet时,服务器就会自动读取当中的信息,

如果注解@WebServlet("/HelloWorldServlet"),则表示该Servlet默认的请求路径为…/HelloWorldServlet,这里省略了urlPatterns属性名,完整的写法应该是:@WebServlet(urlPatterns = “/HelloWorldServlet”),

如果在@WebServlet中需要设置多个属性,必须给属性值加上属性名称,中间用逗号隔开,否则会报错.
若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称.

在servlet3.0以后,web.xml中对Servlet配置,同样可以在@WebServlet注解中配置.
下面是@WebServlet的属性列表:

在servlet3.0以后,我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。

下面是@WebServlet的属性列表。

属性名 类型 描述
name String 指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPatterns String[] 指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
loadOnStartup int 指定 Servlet 的加载顺序,等价于 <load-on-startup>标签。
initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于<init-param>标签。
asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。
description String 该 Servlet 的描述信息,等价于 <description>标签。
displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。
从上表可见,web.xml可以配置的servlet属性,在@WebServlet中都可以配置。

(二)XML配置文件方法

在配置Servlet时,有两个地方需要配置,一个是<servlet>,另一个是<servlet-Mapping>,这两个一个是配置Servlet,一个是配置其映射信息,其中<servlet>中的<servlet-name>可以随意指定,但要有一定的意义,一般取为类的名称,例如我的类名为HelloWorldServlet,这里取名为helloServlet,下面的<servlet-class>是类的全路径,package+calssname,一定要是全路径!

<servlet-Mapping>是映射信息,它也有一个<servlet-name>,里面的名字是对应的Servlet名,也就是我们上面配置的Servlet名字,这里是helloServlet

下面的是映射路径,也就是访问Servlet的名称,这里也是以方便和有意义为前提的,是我们在访问Servlet在浏览器地址栏后面输入的那个信息,例如我的映射路径命名为/HelloWorldServlet,在地址栏中输入http://localhost:8080/项目名/HelloWorldServlet

<!-- servlet的配置 --><servlet><!-- servlet的内部名称,自定义。尽量有意义 --><servlet-name>helloServlet</servlet-name><!-- servlet的类全名: 包名+简单类名 --><servlet-class>com.demo.HelloWorldServlet</servlet-class></servlet><!-- servlet的映射配置 --><servlet-mapping><!-- servlet的内部名称,一定要和上面的内部名称保持一致!! --><servlet-name>helloServlet</servlet-name><!--访问路径  http://localhost:8080/项目名/HelloWorldServlet--><!--这里和@Webservlet路径一个道理 --><url-pattern>/HelloWorldServlet</url-pattern></servlet-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>helloweb</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><servlet><servlet-name>helloServlet</servlet-name><servlet-class>com.demo.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping><servlet-name>helloServlet</servlet-name><url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping></web-app>

用Eclipse 开发Dynamic Web Project应用程序相关推荐

  1. eclipse新版本Dynamic web project的文件夹组成

    最近因为更换电脑下载了船新的eclipse,版本从2020-09变成了2021-09.不更不知道,一更吓一跳,啪的一下,创建Dynamic Web Project的时候,怎么把我的Webcontent ...

  2. Eclipse 下载 Dynamic web project 插件

    链接:http://download.eclipse.org/releases/mars mars对应eclipse版本

  3. [杂谈]杂谈章2 eclipse没有(添加)“Dynamic Web Project”

    原因:你安装的是专门开发java项目的,而Dynamic Web Project  属于J2EE技术 第一种方法: 你要专门下载一个集成了J2EE插件的Eclipse,到eclipse官网下载相对应版 ...

  4. eclipse没有(添加)Dynamic Web Project选项的方法

     第一种方法: 你安装的是专门开发java项目的,而Dynamic Web Project  属于J2EE技术,所以你要专门下载一个集成了J2EE插件的Eclipse,(eclipse-jee-h ...

  5. 【引用】在Eclipse中将java Project转换成Dynamic Web Project

    编辑工程的.project文件: 添加 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> &l ...

  6. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    转自:http://www.javaniu.com/maven-jee-dynamic-web-project.htm 注意:该文档只针对以下eclipse版本,如图 一.在eclipse的官方站点下 ...

  7. eclipse没有Web分支Dynamic Web Project

    2019独角兽企业重金招聘Python工程师标准>>> eclipse想新建web应用项目,在other下面找不到web文件夹以及Dynamic Web Project j2ee相关 ...

  8. Eclipse中没有Servers或Dynamic Web Project的解决方案

    目录 一.没有Servers 二.没有Dynamic Web Project 一.没有Servers [因为要在eclipse中集成tomcat,servers是属于一个纽带的作用] 情况一:[win ...

  9. 如何使用 Eclipse + Kotlin + tomcat 开发 Dynamic Web Server

    如何使用 Eclipse + Kotlin + tomcat 开发 Dynamic Web Server ? Eclipse 安装 Kotlin 插件后是无法开发 Dynamic Web Server ...

最新文章

  1. 闪存普及推动技术进步!2016年存储行业五大热门技术回顾
  2. jscript错误代码及相应解释大全
  3. 使用Java迭代器修改数据时要小心
  4. 项目中的富文本编辑器该如何选择?
  5. centos安装mysql wsl_wsl安装/卸载mysql
  6. gdb define command
  7. linux内核之同步
  8. 在C#中如何读写INI文件
  9. Ax 2012批量部署报表
  10. xbee模块和单片机_XBee® ZigBee 模块使用方法
  11. macos mojave_如何选择退出macOS Mojave Beta
  12. 使用navicat进行mysql数据库拷贝
  13. 【综合类型第 26 篇】WebStorm 2019.2.2 下载、安装教程
  14. 面试被HR问:你有什么优缺点,该如何作答
  15. Oracle aes128和aes256加解密
  16. 【云和恩墨】内外兼修:Oracle ACED熊军谈Oracle学习
  17. 项目经理的专业面试10条经验总结
  18. 手机可以python编程吗_可以使用手机编程实现python吗
  19. 在windbg中测试shadow ssdt , win32k!NtUserGetForegroundWindow , hook shadow ssdt
  20. 【你好,windows】windows7 x64x86旗舰纯净终结版(usb3.0_nvme)2020.1.19

热门文章

  1. H-Net:基于无监督注意的立体深度估计
  2. 优秀!21岁读博,26岁博士毕业即为副教授,同年又晋升教授和博导!
  3. 混合深度卷积,更少参数下的轻量级网络
  4. 文件读取getline与fscanf_s
  5. 深入浅出CMake(二): 基础语法
  6. Nat. Mach. Intell. | 生物医学关系抽取的机器学习新框架
  7. 基于RDKit的溶解度预测的机器学习模型
  8. ubuntu下matplotlib 升级
  9. MetaPhlAn2:宏基因组物种组成分析
  10. 易生信群体和单细胞转录组专题第6期于5月10日在北京开课了