当前位置: 首页>编程语言>正文

java配置服务管理 服务器java环境配置

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
{
	

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException
	{
		process(req,resp);
	}
	
	@Override
	protected 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.xamrdz.com/lan/5rc1963833.html

相关文章: