×
AI > 人工智能 > 详情

MyEclipse及Tomcat的配置详细教程解析

发布时间:2020-05-22 发布时间:
|

一、Servlet的基本概念:

Servlet是sun提供的一种动态web资源开发技术。本质上就是一段java小程序。可以将Servlet加入到Servlet容器中运行。

Servlet容器:能够运行Servlet的环境就叫做Servlet容器。 — tomcat

web容器:能够运行web应用的环境就叫做web容器 — tomcat

Servlet的基本运行方式:

Servlet没有main()方法。它们受控于另一个Java应用(例如Tomcat),这个Java应用称为Sevlet容器,Tomcat就是这样一个容器。通常我们把Tomcat也叫做Servlet容器。

Servlet默认是以多线程模式执行的。

注:JSP是为了方便写html代码和Java代码,它的本身其实还是Servlet。

二、MyElipse的配置:

1、选择工作空间:只要切换了工作空间,所有的配置全部清零。

2、配置jdk:

选择菜单栏Windows–》Preferences,选择标签Java–》Installed JREs,界面如下:

上图中,可以看到,MyEclise有自带的jdk,那我们还是使用自己安装的jdk吧,单击上图中的“add”按钮,弹出如下界面:

上图中,选择自己安装的jdk路径,然后finish,继续:

3、配置工作空间的编码:从此之后你创建的任何项目中的文本文件默认编码都是utf-8

选择菜单栏Windows–preferences,选择标签General–》Workspace,如下:

4、改字体:

三、使用MyEclipse创建Web工程:

1、MyEclipse指定Tomcat:

选择菜单栏Window–》Preferences,选择标签MyEclipse–》Servers–》Tomcat,然后:

上图中,选择自己的Tomcat目录,记得一定要选中红框部分的”Enable”。

检查运行的jdk:

同时,我们关闭MyEclipse自带Tomcat:

2、MyEclipse创建Web项目:

上图中的Context root URL指的是外部访问的虚拟路径,点击finish,继续:

上图中,选择“no”即可。如果选择“yes”也行,就会用6.0来编译,而不是5.0。继续:

上图中,是让你从Java视图切换成MyEclipse视图,选择“yes”。

新建的工程,目录结构如下:

WebTest:web工程的名称,该工程部署时,在webapps目录下就会有一个example的web应用

src目录:Java程序的开发目录,该目录下编写的所有程序在部署时,会自动部署到example/web-inf/classes目录下。

WebRoot目录:webroot对应于web应用的根目录,该目录下的所有子目录和子文件在部署时,会原封不动的发布到web应用目录下。

如果需要修改这个Web工程的对外访问路径Context Root,可以右键这个项目,选择Properties,选择MyEclipse–》Web标签:

在上图红框部分进行需改就行了。

3、MyEclipse发布Web项目到Tomcat下:

选择上图中的按钮(菜单栏下方),提示文字为:Deploy Project to Server,弹出如下界面:

上图中,选择add,继续:

上图中,选择我们之前Tomcat,就行了。

当然了,还有另外一种方式可以发布到Tomcat,方法是:右键工程文件,效果如下:

项目一旦发布到Tomcat,就会马上把项目的WebRoot目录copy到Tomcat的webapps目录下,并把WebRoot重命名为项目名称,即WebTest:

发布之后,如果想在网页上看效果,需要先运行Tomcat:

然后在网址输入url就行了:

四、创建Servlet的一般步骤:

Servlet的框架组成:

Servlet框架是由两个Java包组成:Javax.servlet和Javax.servlet.http。Servlet的框架的核心里Javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。

步骤:

新建一个类实现sun公司定义的Servlet接口

将写好的类配置到tomcat中的web应用的web.xml中(配置对外访问路径)

注1:为了理解过程,下面的方式一是新建一个class文件作为Servlet,然后手动配置Web.xml。其实,实际开发中,直接新建Servlet文件(方式二),就能一步到位,Web.xml会自动配置好。

注2:Tomcat内置Servlet的jar包。

1、方式一:新建class文件

(1)新建一个class文件MyServlet.java,继承子类HttpServlet:

MyServlet.java:

package com.vae.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; //一般实现一个Servlet,只要继承HttpServlet类即可 public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub //super.doGet(req, resp); //获取对客户端的输出流(out对象) PrintWriter out = resp.getWriter(); out.write(“”Hello,Servlet“”); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub //super.doPost(req, resp); } }

上方代码中,如果采用get请求,就可以重写doGet方法。注意要注释掉第17行的代码(父类的方法)。

其实,doPost和doGet方法其实是在Servlet类的service()方法的内部中调用的。Tomcat已经把14行的request和response这两个参数给new好了。

19行:PrintWriter是字符打印流,这个字符流的输出源针对的是页面(向客户端输出)。

(2)Web.xml配置,配置Servlet的对外访问路径(URL):

既然这个Servlet是由Web容器启动的,那么就需要在Web.xml中进行配置,这样的话,Tomcat在启动的时候就会自动加载这个文件。

浏览器访问Web端必须通过url,于是还需要在Web.xml中 通过标签配置一个映射的路径,同样附上别名name和路径url。

打开web.xml,添加一些代码。

web.xml:

“1.0” encoding=“UTF-8”?》 “2.5” xmlns=“http://java.sun.com/xml/ns/javaee” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://java.sun.com/xml/ns/javaee ”》 index.jsphelloServlet com.vae.servlet.MyServlet helloServlet /hello

11至21行是我添加的代码。

12行至15行:Web.xml配置。一个名称映射一个类,别名可以随便取,方便在整个web.xml中引用这个Servlet(13行),但类名必须为之前定义的Servlet,含包名(14行)。

18行至21行:url配置,让浏览器通过这个url访问Web端。19行的name别名必须和13行一样,20行的”/hello”是我们设置的url路径。

其实就是根据20行的url找到13行的别名,进而找到14行的Servlet类。

运行程序,效果如下:

注意一定要删除MyServlet.java代码中继承父类的方法:super.doGet(req, resp);、super.doPost(req, resp);(17行、27行),否则会出现如下错误的页面:

2、方式二:新建Servlet文件

注:只有在MyEcipse视图下才能新建Servlet文件,在Java视图下是不行的。

我们来新建一个Servlet文件:

上图中,MyEclipse会自动给我们继承父类HtpServlet,然后我们只需要复写doGet和doPost方法就行了。点击next,继续:

MyServlet.java代码如下:

package com.vae.servlet; import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //显示当前时间 response.getWriter().write(“now time:” + new Date().toLocaleString()); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

在网页输入url,效果如下:

上图可以看到,同一个资源,在不同的时间、不同的人访问的时候,是不一样的,很显然Servlet是动态Web资源。

总结:完成了MyEclipse及Tomcat的配置,以及Servlet的开发流程。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
CPU+GPU异构集群搭建的总结说明