MyEclipse集成Tomcat

  • 首先配置Tomcat,即配置环境变量Java_HOME、path,在第一讲中已经完成了,不再赘述。
  • Eclipse代码风格导入MyEclipse:
    • 每个项目都要配置一次代码风格,文字大小,快捷键等等比较麻烦,可以用File下面的导入、导出功能。比如Eclipse下的File->General->Preferences->export all,生成一个*.epf文件,然后用MyEclipse中的File->import->General->Preferences,选择刚刚导出的epf文件import all即可。
  • 打开MyEclipse,在Window->Preferences->MyEclipse->Servers,选择Tomcat 6.x,将Tomcat home directory设置为Tomcat的根目录(比如我这里是D:\Program Files\apache-tomcat-6.0.44,顺便提一下,我本来装的最新版8.0.9,可是不知道如何集成到MyEclipse中,因为MyEclipse(我的是8.5版)里面只有Tomcat 4/5/6这几个选项,因此不得不到Apache Tomcat主页下载6.0版的Tomcat),将Tomcat sever下面的单选按钮选为Enable,确定。
  • MyEclipse中,Window->Preferences->Java->Installed JREs,Add一个Standard VM,在JRE home中键入本机Java的安装目录,回到刚才的Installed JREs目录,选择刚刚add的JRE,不要使用MyEclipse自带的,另外这里之所以要选择JRE,是因为Tomcat本身就是Java写的,要有Java运行时环境才能跑起来。接下来,回到Tomcat 6.x,将JDK选为刚刚添加的那个。

配置完成后,在MyEclipse的右上角有一个名为Open Perspective,点击,选择MyEclipse Java Enterprise,然后MyEclipse中上部有个名为Run/Stop/Restart MyEclipse Servers的图标,点击选择启动Tomcat 6.x。而后在浏览器地址栏中输入localhost:8080,出现Apache Tomcat的主页,即为配置成功。

使用Eclipse结合Tomcat开发一个简单的Servlet和JSP

Servlet是Java服务器端编程,不同于我们之前写的一般的Java应用程序,Servlet程序是运行在服务器上的,服务器有很多种,这里我们使用的是Tomcat。

  • 首先建立项目:

  File->New->Web Project,项目命名为test,J2EE Specification Level 选择Java EE 5.0,确定。到硬盘上找到test文件夹,打开WebRoot,打开WEB-INF,里面有三个文件classes,lib,web.xml,其中classes用来放置Java编译好的问价,lib是项目依赖的第三方JAR,web.xml是项目的部署描述符。

其次,想要项目放到Tomcat里运行,必须告诉Tomcat项目在什么地方:

  进入Tomcat的安装目录,打开conf目录,打开server.xml,通过对这个文件进行相关的设置,Tomcat就可以找到我们的项目,在最后面几行的</Host>标签之前添加信息:

<Context path="/test" docBase="D:\JavaWeb\test\WebRoot" reloadable="true"/>

其中Context是上下文的意思,Tomcat服务器中可以配置多个上下文,每个上下文对应一个Web应用;docBase是项目下面的WebRoot目录,path是逻辑上的虚拟路径(注意这里的test和项目的test虽然名字一样,但是它们之间没有任何关系,你也可以把path改成"/abc"等),映射到docBase;reloadable表示是否可以重新加载。

  接下来在MyEclipse中重新启动Tomcat,浏览器地址栏键入localhost:8080/test,显示This is my JSP page,说明刚才的配置成功。

  • 然后,我们使用Servlet生成一个静态页面:

  在src目录下新建一个包,命名为com.test.servlet;在新建的包下面新建一个类MyServlet,该类需要继承HttpServlet类(一般来说,Servlet都需要继承此类)。类的实现如下:

package com.test.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet
{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{process(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{process(req, resp);}protected void process(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{resp.setContentType("text/html");PrintWriter out = resp.getWriter();out.println("<HTML><HEAD><TITLE>My First Servlet</TITLE></HEAD>");out.println("<BODY>");out.println("<H1>Hello World</H1>");out.println("</BODY></HTML>");}}

接着在MyEclipse中配置Web-INF目录下的web.xml,打开在左下角选择source,删掉:

<welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>

在</web-app>前面添加:

<servlet><servlet-name>MyServlet</servlet-name><servlet-class>com.test.servlet.MyServlet</servlet-class>
</servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/MyServlet</url-pattern>
</servlet-mapping>

重启Tomcat,浏览器访问http://localhost:8080/test/MyServlet,出现"Hello World"即为成功。

在程序中对process方法稍作修改,打印系统当前时间:

protected void process(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{resp.setContentType("text/html");PrintWriter out = resp.getWriter();out.println("<HTML><HEAD><TITLE>My First Servlet</TITLE></HEAD>");out.println("<BODY>");out.println("<H1>Hello World</H1>");out.println("<br>" + new java.util.Date().toLocaleString());out.println("</BODY></HTML>");}

刷新浏览器的http://localhost:8080/test/MyServlet页面即可。

当然我们也可以在Console中打印系统时间,在刚刚添加的哪行语句下面,添加:

System.out.println("当前系统时间为:"+ new java.util.Date().toLocaleString());

然后在浏览器中刷新页面几次,Console中也相应的打印出系统时间几次。

  • 最后我们分析一下Servlet是如何执行的?我们为什么要在web.xml中添加上述的代码呢?一是告诉客户端,二是告诉Tomcat如何找我的资源,寻找的规则是:在servlet-mapping中根据url-pattern(其中'/'表示当前系统的根路径(这里是test)),找到servlet-name,然后在servlet中找跟他匹配的servlet-name,然后找到相应的servlet-class,如果发现其没有实例化,就实例化它(其中的doGet处理客户端的GET请求,doPost处理客户端的POST请求,而通过浏览器访问时全部使用的GET请求),立刻执行其doGet方法,doGet方法本身调用了process方法,执行后,服务器返回的HTML信息如下:
<HTML><HEAD><TITLE>My First Servlet</TITLE></HEAD>
<BODY>
<H1>Hello World</H1>
<br>2015-7-2 9:28:13
</BODY></HTML>

浏览器解释HTML,显示出"

Hello World

2015-7-2 9:28:13"

这样的结果。

需要注意的几点:

  • servlet-mapping元素中的servlet-name必须和servlet元素中的servlet-name匹配,这是由它的寻找规则决定的。
  • servlet元素中的servlet-class必须是包名+类名。
  • url-pattern前面以'/'开头,表示客户端以什么样的url格式请求servlet,也可以改成"/abc",这样在浏览其中需要访问http://localhost:8080/test/abc。

转载于:https://www.cnblogs.com/Code-Rush/p/4615056.html

第二部分_搭建Java Web开发环境与配置Tomcat服务器JSP详解相关推荐

  1. 如何搭建java web环境_搭建java WEB开发环境和应用

    搭建java WEB开发环境和应用 更新时间:2009年06月07日 02:28:56   作者: 使用Tomcat服务器,使用DBCP数据源搭建Web开发环境 一 使用Tomcat服务器,使用DBC ...

  2. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境

    Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...

  3. Linux 下搭建 Java Web 开发环境

    Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...

  4. java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype

    以Eclipse为核心搭建JAVA WEB开发环境(三)-模板项目Archetype 本篇介绍创建archetype,用于创建WEB项目的模板. 1.创建一个Dynamic Web Project. ...

  5. java开发环境搭建 pdf_01搭建java web开发环境.pdf

    01搭建java web开发环境.pdf 还剩 19页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ( 7)在 ...

  6. 初学Java Web(2)——搭建Java Web开发环境

    虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...

  7. Java Web基础入门第九讲 Java Web开发入门——再探Tomcat服务器

    web应用程序 web应用程序指供浏览器访问的程序,通常也简称为web应用.例如有a.html.b.html--多个web资源,这多个web资源用于对外提供邮件服务,此时应把这多个web资源放在一个目 ...

  8. 【环境搭建】 Win7 系统搭建 Java Web 开发环境

    1. 安装jdk 本次安装的是jdk8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  9. IDEA 搭建Java WEB 开发环境

    本文是一篇讲解如何在 目前比较流行的IntellJ IDEA 下搭建JavaWEB的说明文档, 如有写的不详细的地方,希望各位留下自己宝贵的意义. Tips : 遇到的问题 , 请耐心看完文章,在文章 ...

最新文章

  1. Mantis 缺陷管理系统配置与安装
  2. 如何在freemarker寻找元素_如何让你的网站ui设计更加优秀
  3. face recognition[翻译][深度学习理解人脸]
  4. 事务例子_Redis事务系列之一Redis事务详解
  5. 转动风车java_java实现-图的相关操作
  6. java优先级队列使用
  7. 中国庭院刮板市场趋势报告、技术动态创新及市场预测
  8. 查找命令find和其他常用查找命令
  9. PHP操作Trait类
  10. 数据挖掘:计算边的中介中心值 edge_betweenness value
  11. 欧姆龙cp1h指令讲解_OMRON CP1H脉冲指令说明总结
  12. 关于移植STM32f107网口程序到GD32f107的问题
  13. 重庆计算机一级跟全国计算机一级都考什么,全国计算机等级考试一级都考什么内容?...
  14. 电容笔能否替代Apple pencil?高性价比电容笔排行
  15. 《灵飞经》①洪武天下 第三章 东岛三尊
  16. C 不常见的一些晦涩语法
  17. PCRF、PCEF、PCC(转帖)
  18. 【阿里巴巴集团副总裁贾扬清——一个AI开发者的奇幻漂流】
  19. ASP.NET教师排课系统
  20. JS使用技巧-如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?

热门文章

  1. thief book怎么用_战略管理工具箱--30个好用的战略管理好工具
  2. python找不到文件怎么办_python open找不到文件怎么办?
  3. Nodejs 路由封装 封装一个类似 express 的路由
  4. Nodejs 新特性 async await 的使用 以及使用 async await 处理异步
  5. 一、mongodb数据库系列——介绍和安装 简单使用 增删改查
  6. 网际控制报文协议ICMP(Internet Control Message Protocol)(详解)
  7. LeetCode 2105. 给植物浇水 II(双指针)
  8. 天池 在线编程 排名查询
  9. LeetCode 778. 水位上升的泳池中游泳(二分查找+dfs)
  10. LeetCode 1233. 删除子文件夹