返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

IDE eclipse(或Myeclipse)的安装教程

时间:2013-04-24 21:34来源:betway必威官网www.etsupport.net 编辑:麦田守望者

说明:内容包括用TOMCAT测试运行jsp文件。

eclipse可以到http://www.eclipse.org/downloads/下载,拿版本3.2.2为例,简单介绍下安装过程。

下载后,解压到指定的目录,发现可以直接运行。初次运行的时候,会弹出窗口,提示设定eclipse的工作空间,选择选择一个工作空间,并勾上以后不再提示,这样以后这个对话创就不会弹出。这样,eclipse就安装完成了,以后会以eclipse为基础,介绍怎么样利用eclipse用tomcat做服务器,开发简单的jsp,servlet程序。这里先说一点,在操作系统上存在多个版本的JDK的时候,eclipse怎样更改JDK版本。拿3.2.2版本为例,打开window->preferences,(中文版的是 窗口->首选项),有eclipse的各种设置信息,其中java栏中有Installed JRE选项,在这里可以添加和更改当前安装的不同版本的JDK。比如,现在eclipse识别的JDK是1.4.2_13,已经安装的1.4.2_11没有识别出来,在这里可以手动添加。点击ADD按钮,弹出如下界面,在jre name中填写版本信息,在JRE home directory中选中JDK安装的目录,Eclipse会自动读出可用的jar包和可用的javaDocs。

点击OK后,该版本的JDK添加成功。然后可以选中某个你开发需要的JDK版本。当然,在建立工程开发的过程中也可以更改JDK版本,这个以后再介绍。到现在,tomcat下的jsp开发只是提了冰山一角。具体开发中还有许多知识。但是看了以上部分后,开发过程中就可以轻松的搭建环境,为开发做好准备工作。(这里没有说数据库的搭建,和第三方技术支持的搭建。因为这些知识本身已经不属于一个web程序员的范畴了,对于一个web开发的程序员来说,只要知道第三方控件的接口或者数据库连接的参数即可,至于数据库搭建的各种知识,则是DBA这类人的任务了。)

 

用TOMCAT作简单的Java web开发-第二个jsp文件

其实,我们并没有必要理解所有的JDK的类,这也是不现实的,在理解了一部分类,并对java开发有了一定的认识后,电脑里有一份JDK帮助文档就可以了。遇到不会用的类,不会用的方法是很正常的事情,这个时候就要查JDK帮助文档了。

如果愿意花一段时间学习java的话,可看的书有Thinking In java和Java核心思想这2本书。这2本书都是千页的大部头,而且有许多文字需要揣摩理解,变成自己的东西,不是1天2天能掌握的。需要时时看,时时理解。

现在开始介绍第二个jsp文件。

在开发环境配置中已经做成了一个jsp文件并让它运行,但是我们是在tomcat下的

webapps/sample文件夹下运行的这个jsp文件。怎么搭建我们自己的应用呢?或者说自己的web系统,自己的机能呢?首先,我们发现tomcat所运行的网站程序都放在webapps下(实际不是这样的,是可以设定的,下面马上就说到。)上次的那个jsp文件的路径是webapps/examples/HelloWorld.jsp,而访问的时候是http://localhost:8080/examples/HelloWorld.jsp。似乎我们只要在webapps下建立一文件夹,再放进去这个jsp文件,就可以访问了,是不是这样呢?尝试一下看看。我们在webapps下建立一个文件夹myJSP,并把上次能够运行的jsp文件HelloWorld.jsp放到下面,

启动tomcat,然后在IE中输入以下地址http://localhost:8080/myJSP/HelloWorld.jsp

结果发现报以下错误。

IDE eclipse的安装 - 不懂 - 不懂_超越

 

为什么呢?因为在tomcat的conf/server.xml中,配置设定了当前可用的网站应用。Tomcat在启动的时候,会先到这里读取各个配置好的网站应用,找到之后,服务器才会识别这些应用。(当然,如果你的网站应用已经配置好了web.xml,也没有必要在server.xml中配置设定,这个以后再提)现在我们就为自己的网站配置应用,打开conf/server.xml,找到</host>,在这个tag前面(即最后</host>前)加上如下代码。

代码:

<Context path="/JSP" docBase="myJSP" reloadable="true" />

Context有3个参数。

Path :服务器所识别的文件路径,虚拟路径(也称物理路径)。

docBase :文件所放置的位置(相对地址的话,tomcat会识别为webapps下的,如果是绝对路径,就是你本机的绝对路径了。所以说tomcat所运行的网站程序都放在webapps下是不对的)

reloadable :是否可以reload,一般情况下设定为true就可以。

这样设定完成后,重启tomcat(不重启的话,tomcat不会重新读取server.xml文件)。

访问http://localhost:8080/JSP/HelloWorld.jsp,发现可以正常访问了。注意这个时候

访问的URL中是JSP而不是myJSP,因为我们在context中设定的path是/JSP。

关于TOMCAT的启动。

代码:

1. TOMCAT关闭的时候,可以点击shutdown.bat,或者直接在tomcat运行窗口

CTRL+ C键就可以结束这个运行窗口。

2.TOMCAT下开发的程序有修改的时候,如果是jsp文件的话,不需要重新启动tomcat,

直接刷新页面,jsp文件就会被重新编译。而其他的修改,比如xml,properties配置文

件,以及java class的修改的时候,需要重新启动TOMCAT,不然这些修改不会被重新

加载。

现在开始在myJSP这个文件夹下编写第二个jsp文件。

显示日期的类。名字为HelloDate.jsp

代码也很简单,如下:

代码:

<%@ page contentType="text/html; charset=GBK"

pageEncoding="GBK" %>

<html>

<head>

<title>Test DATE</title>

</head>

<body>

<h2><%=new java.util.Date().toString() %></h2>

</body>

</html>

解释:

<%= ... %>主要是用来输出java代码中的变量,上面程序中的<%=new

java.util.Date().toString() %>其中的代码new java.util.Date().toString()其实也是

返回一个String的变量。

编写完成,拷贝到刚才建立的myJSP文件夹下,不需要重启TOMCAT,访问

http://localhost:8080/JSP/HelloDate.jsp可以看到如下画面。打印出了系统当前时间。

IDE eclipse的安装 - 不懂 - 不懂_超越

 

现在介绍下jsp下嵌入一部分java代码的基本样式。

@Page指令的属性

代码:

<%@ page

[ language="java" ]

[ extends="package .class" ]

[ import="{package .class | package.*}, ..." ]

[ session="true|false" ]

[ buffer="none|8kb|sizekb" ]

[ autoFlush="true|false" ]

[ isThreadSafe="true|false" ]

[ info="text" ]

[ errorPage="relativeURL" ]

[ contentType="mimeType [ ;charset=characterSet ]" |

"text/html ; charset=ISO-8859-1" ]

[ isErrorPage="true|false" ]

%>

上面为@page指令的常用属性,[]中括号表示其属性可设定也可不设定。像上面的jsp文件

中的

代码:

<%@ page contentType="text/html; charset=GBK"

pageEncoding="GBK" %>

就设定了传输的数据的类型,编码方式,以及文件的编码方式。

开发中文简体bs系统,经常指定页面的编码方式为GBK或者gb2312的,日文bs系统的话,

常用的编码方式是Shift_JIS,中文繁体应该是big5吧?

一些使用page指令的例子。

<%@ page import="java.util.*, java.lang.*" %>

<%@ page buffer="5kb" autoFlush="false" %>

<%@ page errorPage="error.jsp" %>

Include 指令 (包含其他的文件)

代码:

<%@ include file="relativeURL" %>

了解了以上的基本知识,我们修改一下这个jsp文件。

代码:

<%@ page contentType="text/html; charset=GBK"

pageEncoding="GBK" %>

<%@ page import="java.util.Date"%>

<html>

<head>

<title>Test DATE</title>

</head>

<body><%

Date dt = new Date();

out.println("<h2>" + dt + "</h2>");

%>

</body>

</html>

再次访问这个页面,显示正常。

至此,简单的jsp页面制作完成。这时候我们再回头看看TOMCAT将这个jsp文件生成的java

文件。在\work\Standalone\localhost\JSP下找到这个java文件(为什么是JSP而不是myJSP呢?),HelloDate$jsp.java。

代码:

package org.apache.jsp;

import java.util.Date;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.jsp.*;

import org.apache.jasper.runtime.*;

public class HelloDate$jsp extends HttpJspBase {

static {

}

public HelloDate$jsp( ) {

}

private static boolean _jspx_inited = false;

public final void _jspx_init()

throws org.apache.jasper.runtime.JspException {

}

public void _jspService(HttpServletRequest request,

HttpServletResponse response)

throws java.io.IOException, ServletException {

JspFactory _jspxFactory = null;

PageContext pageContext = null;

HttpSession session = null;

ServletContext application = null;

ServletConfig config = null;

JspWriter out = null;

Object page = this;

String _value = null;

try {

if (_jspx_inited == false) {

synchronized (this) {

if (_jspx_inited == false) {

_jspx_init();

_jspx_inited = true;

}

}

}

_jspxFactory = JspFactory.getDefaultFactory();

[color=Green] response.setContentType("text/html;

\r\ncharset=GBK");[/color]

pageContext = _jspxFactory.getPageContext(this, request,

response, "", true, 8192, true);

application = pageContext.getServletContext();

config = pageContext.getServletConfig();

session = pageContext.getSession();

out = pageContext.getOut();

// HTML // begin [file="/HelloDate.jsp";from=(2,21);to=(3,0)]

out.write("\r\n");

// end

// HTML // begin

[file="/HelloDate.jsp";from=(3,34);to=(8,6)]

out.write("\r\n<html>\r\n<head>\r\n<title>Test

DATE</title>\r\n</head>\r\n<body>");

// end

// begin [file="/HelloDate.jsp";from=(8,8);to=(11,1)]

Date dt = new

Date();

out.println("<h2>" + dt + "</h2>");

// end

// HTML // begin

[file="/HelloDate.jsp";from=(11,3);to=(14,0)]

out.write("\r\n</body>\r\n</html>\r\n");

// end

} catch (Throwable t) {

if (out != null && out.getBufferSize() != 0)

out.clearBuffer();

if (pageContext != null) pageContext.handlePageException(t);

} finally {

if (_jspxFactory != null)

_jspxFactory.releasePageContext(pageContext);

}

}

}

和我们的源文件对应一下,发现<%@page import=”java.util.Date”%>被解释成import

java.util.Date;在文件开始的位置被导入。

<%@ page contentType="text/html; charset=GBK"

pageEncoding="GBK" %>

被解释成response.setContentType("text/html; \r\ncharset=GBK");

而jsp页面里的HTML代码被用out.print()方法输出。

真正写的那个java代码被直接搬过来。

看完了上面的页面后,会发现,我们写的jsp文件,最终都被解释成java文件。大家有兴

趣不妨看看自己的jsp文件生成的java文件,或者写出各种tag,看看最终服务器会把他

们解释成什么样子,会发现对象无处不在,你能够使用的东西,归根结底都是java的对象。

所以说,如果有了面向对象的概念和java的基础,jsp开发起来会进步很快。

另,

application = pageContext.getServletContext();

config = pageContext.getServletConfig();

session = pageContext.getSession();

out = pageContext.getOut();

这4句也很有意思,它告诉了我们平时我们在jsp中用的session,out之类的对象是从哪里

来的。以后有机会再介绍相关的知识吧。另,大家如果看下上次帖子里那个很简单的jsp

生成的java文件,会发现一些细节的不同。码方式不同,这是jsp开发中出现乱码的一个

原因,在不指定编码方式的情况下,将用系统的默认编码方式,那么,中文乱码的问题就出

现了。当然,中文乱码还有一些情况,以后有机会整理一下现象及对应的方法吧。

注:如果感觉看work目录下TOMCAT生成的java文件很烦,看不懂,可以不管这部分介绍,

对开发没有影响。有兴趣的可以看看http://localhost:8080/index.html下的JSP

Examples,代码很简单,主要是要理解它使用的技术。

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):Java JAVA实例教程 JAVA基础教程 Java源代码 Java技巧
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片