第二部分_搭建Java Web开发环境与配置Tomcat服务器JSP详解
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详解相关推荐
- 如何搭建java web环境_搭建java WEB开发环境和应用
搭建java WEB开发环境和应用 更新时间:2009年06月07日 02:28:56 作者: 使用Tomcat服务器,使用DBCP数据源搭建Web开发环境 一 使用Tomcat服务器,使用DBC ...
- 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开发的话,搭建开发环境将是一个门槛.以前一直 ...
- Linux 下搭建 Java Web 开发环境
Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...
- java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype
以Eclipse为核心搭建JAVA WEB开发环境(三)-模板项目Archetype 本篇介绍创建archetype,用于创建WEB项目的模板. 1.创建一个Dynamic Web Project. ...
- java开发环境搭建 pdf_01搭建java web开发环境.pdf
01搭建java web开发环境.pdf 还剩 19页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ( 7)在 ...
- 初学Java Web(2)——搭建Java Web开发环境
虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...
- Java Web基础入门第九讲 Java Web开发入门——再探Tomcat服务器
web应用程序 web应用程序指供浏览器访问的程序,通常也简称为web应用.例如有a.html.b.html--多个web资源,这多个web资源用于对外提供邮件服务,此时应把这多个web资源放在一个目 ...
- 【环境搭建】 Win7 系统搭建 Java Web 开发环境
1. 安装jdk 本次安装的是jdk8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...
- IDEA 搭建Java WEB 开发环境
本文是一篇讲解如何在 目前比较流行的IntellJ IDEA 下搭建JavaWEB的说明文档, 如有写的不详细的地方,希望各位留下自己宝贵的意义. Tips : 遇到的问题 , 请耐心看完文章,在文章 ...
最新文章
- Mantis 缺陷管理系统配置与安装
- 如何在freemarker寻找元素_如何让你的网站ui设计更加优秀
- face recognition[翻译][深度学习理解人脸]
- 事务例子_Redis事务系列之一Redis事务详解
- 转动风车java_java实现-图的相关操作
- java优先级队列使用
- 中国庭院刮板市场趋势报告、技术动态创新及市场预测
- 查找命令find和其他常用查找命令
- PHP操作Trait类
- 数据挖掘:计算边的中介中心值 edge_betweenness value
- 欧姆龙cp1h指令讲解_OMRON CP1H脉冲指令说明总结
- 关于移植STM32f107网口程序到GD32f107的问题
- 重庆计算机一级跟全国计算机一级都考什么,全国计算机等级考试一级都考什么内容?...
- 电容笔能否替代Apple pencil?高性价比电容笔排行
- 《灵飞经》①洪武天下 第三章 东岛三尊
- C 不常见的一些晦涩语法
- PCRF、PCEF、PCC(转帖)
- 【阿里巴巴集团副总裁贾扬清——一个AI开发者的奇幻漂流】
- ASP.NET教师排课系统
- JS使用技巧-如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?
热门文章
- thief book怎么用_战略管理工具箱--30个好用的战略管理好工具
- python找不到文件怎么办_python open找不到文件怎么办?
- Nodejs 路由封装 封装一个类似 express 的路由
- Nodejs 新特性 async await 的使用 以及使用 async await 处理异步
- 一、mongodb数据库系列——介绍和安装 简单使用 增删改查
- 网际控制报文协议ICMP(Internet Control Message Protocol)(详解)
- LeetCode 2105. 给植物浇水 II(双指针)
- 天池 在线编程 排名查询
- LeetCode 778. 水位上升的泳池中游泳(二分查找+dfs)
- LeetCode 1233. 删除子文件夹