编程者入门:谈Servlet/JSP的配置详解

js|servlet|编程|详解

初学者经常会问的诸如:怎样配置环境变量?怎样运行Servlet呢?这样的问题出现的很多了,现在我写一个初学者入门必读,以便对初学者有指导作用。

首先是下载工具:

我建议初学者用Editplus+JDK,我觉得如果用例如JB,Eclipse,JCreator,虽然刚开始的时候比较方便,但是确使初学者门不知道怎样配置环境变量,从而难以达到知其然,知其所以然的地步。

可以通过如下地址下载:

Editplus(最新版本是v2.11):http://count.skycn.com/softdown.php?id=3641&url=http://sc-http.skycn.net/down/epp211a_cn.exe JDK(最新版本是Java2sdk1_4_2):http://count.skycn.com/softdown.php?id=3116&url=http://sc-http.skycn.net/down/j2sdk-1_4_2-windows-i586.exe(这是For Windows)然后就是安装JDK,我是把它装到从c:\JDK目录下面。

然后设置CLASSPATH的问题了:

正如操作系统利用PATH来搜索可执行程序一样,Java运行环境也会遍历CLASSPATH来查找类,即便是HelloWorld这样简单的程序,JVM也会遍历CLASSPATH定义的每一个路径,直到找到相应的文件为止。

相信大家用的系统不是2k就是XP,然后就应当如下设置Path:

我的电脑->属性->高级->环境变量

然后在环境变量的Path后面追加:

C:\JDK\bin;.;C:\JDK\lib

也可以这样配置:

C:\JDK\bin;.;C:\JDK\lib\dt.jar;C:\JDK\lib\tools.jar

记住:环境变量中的”.” 切记不能少,它表示当前路径,如果少了就会出现错误。

dt.jar是关于运行环境的类库,tools.jar是关于一些工具的类库

如果没有配置:C:\JDK\bin,则会出现 “ javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这样的错误。

下面我们就写一个示例程序:

打开Editplus,新建一个Java文件,请照着如下输入,要一字不漏,并且分清大小写:

public class HelloWorld{public static void main(String[] args){System.out.println("Hello,World!");}}

然后把这个文件保存(ctrl + s)到HelloWorld.java,Java是分大小写的,所以大小写一定要分清,是HelloWorld.java不是helloworld.java或者其他。

运行:开始->运行->cmd

在控制台中把目录切换到当前目录:

javac HelloWorld.javajava HelloWorld

你就会在控制台上看见输出的Hello,World!

javac是编译命令,它把HelloWorld.java编译成HelloWorld.class

java就是解释命令,JVM把HelloWorld.class解释执行.

在这个时候:

1、如果出现Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld那就是你在环境变量中没有加上那个.(dot)

2、如果出现Exception in thread "main" java.lang.NoSuchMethodError: main

或者HelloWorld.java:1: Public class helloworld must be defined in a file called

"HelloWorld.java".

那就是你没有分清大小写的写入这个HelloWorld,或者保存得时候没有保存为HelloWorld.java。这个名字一定要跟public class的名字一样

对于环境变量的问题就说到这里,下面我先所说怎么在Editplus里面编译和运行,在Tools->参数设置->配置用户工具

1.添加工具(添加应用程序)

菜单文字:Compile Java Program

程序:C:\JDK\bin\javac.exe

参数:文件名称

初始目录:文件目录

2.添加工具(添加应用程序)

菜单文字:Run Java Program

程序:C:\JDK\bin\java.exe

参数:文件名称(不含扩展名)

初始目录:文件目录

工具组名称可以随便添,比如Debug Java Program。

然后在Tools的下拉菜单中,你就会看见Compile Java Program以及Run Java Program这两个选项,以后你就可以利用ctrl + 1编译和ctrl +2运行程序了

下面我们讨论Servlet的运行环境:

要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat。

Tomcat(最新版本5.0):http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip

然后把这个压缩包解压到:

C:\Tomcat

然后再配置环境变量;添加三个系统变量:

JAVA_HOME: C:\JDKTOMCAT_HOME: C:\TomcatCLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib

Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:

在控制台中转到C:\Tomcat\bin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行。

在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了。然后和上面一样,写入你的第一个Servlet。

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorld extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response)throwsServletException,IOException{response.setContentType("text/html"); PrintWriter out = response.getWriter();out.println("<html><head><title>");out.println("This is my first Servlet");out.println("</title></head><body>");out.println("<h1>Hello,World!</h1>");out.println("</body></html>");}}

然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.*

那么就是应该把C:\Tomcat\common\lib里面的servlet.jar文件拷贝到C:\JDK\jre\lib\ext中,再次编译,就没有问题了。

然后在Tomcat目录里面的C:\Tomcat\webapps\ROOT里面按如下的文件结构:

ROOT\index.htmlROOT\welcom.jspROOT\WEB-INF\lib\MyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)ROOT\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)

然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:

Error 404--Not Found

怎么回事呢?

Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册,用EP打开这个web.xml文件,在里面加入:

<servlet><servlet-name>HelloWorld</servlet-name><servlet-class>HelloWorld</servlet-class></servlet><servlet-mapping><servlet-name>HelloWorld</servlet-name><url-pattern>/servlet/helloworld</url-pattern></servlet-mapping>

这样的结构

<servlet><servlet-name>HelloWorld</servlet-name><servlet-class>HelloWorld</servlet-class></servlet>

表示指定包含的servlet类。而以下的结构:

<servlet-mapping><servlet-name>HelloWorld</servlet-name><url-pattern>/servlet/HelloWorld</url-pattern></servlet-mapping>

表示指定HelloServlet应当映射到哪一种URL模式。

在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索servlet
, java初学者
, 文件
, 变量
, helloworld
, 运行
, 关于jdk的使用
, 环境
, class servlet
编程javajava基础
,以便于您获取更多的相关知识。

时间: 2024-08-03 18:54:27

编程者入门:谈Servlet/JSP的配置详解的相关文章

java入门教程之Struts初配置详解

1.下载struts的jar包 2.将struts的jar包放到WEB-INF/lib目录下 3.配置struts-config.xml  代码如下 复制代码 <form-beans> <form-bean name="loginForm(自己命名)" type="com.struts.LoginActionForm(ActionForm所在包及路径)"/> </form-beans> <action-mappings>

jsp内置对象入门(6) application对象详解

application是javax.servlet.ServletContext接口的实例,实际上表示的是整个Servlet的上下文. application对象的常用方法: 以上方法是application的特色方法,当然,除了以上的三个方法之外,对于属性的增加.取得和删除也有其应用的,setAttribute().getAttribute().removeAttribute(). 我们来一块学习表格中的三个方法. 取得绝对路径 取得一个项目的虚拟目录对应的绝对路径就要使用getRealPat

Struts 2中的constant配置详解_java

1.<constant name="struts.i18n.encoding" value="UTF-8" /> 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法. 2.<constant name="struts.i18n.reload" value="false"/> 该属性设置是否每次HTTP请求到达时,系统都重新加载资源文

Flume环境部署和配置详解及案例大全_Linux

一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OGoriginal generation属于 cloudera.但随着 FLume 功能的扩展Flume OG 代码工程臃肿.核心组件设计不合理.核心配置不标准等缺点暴露出来尤其是在 Flume OG 的最后一个发行版本 0.94.0 中日志传输不稳定的现象尤为严重为了解决这些问题2011 年 10 月 22 号cloudera 完成

Maven使用笔记(四)pom.xml配置详解

pom.xml文件配置详解 --声明规范 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quo

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置详解

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权所有 文章概述: 一. 描述了持续集成工具Hudson的安装与配置 二. 描述了Git .Maven环境的安装与配置 三. 描述了扩展邮件通知及其配置方法 四. 描述了jira的配置 一.Hudson简介 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控持续的软件版本发布/测试项目 下载地址:http://eclipse.org

Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline

引子       很久没更新了,今天写点关于Asp.Net MVC的PipeLine.首先我们确认一点,Asp.Net WebFrom和Asp.Net MVC是在.Net平台下的两种web开发方式.其实他们都是基于Asp.Net Core的不同表现而已.看下面一张图,我们就能理解了WebForm和Asp.Net MVC的一个关系了. 那好我们了解了Asp.Net平台下的两种开发方式,相信大家对于WebForm的Pipeline都非常熟悉了,当然这也是你熟悉Asp.Net开发的必经之路.而看了很多

php-fpm配置详解

 这篇文章主要介绍了php-fpm配置详解,需要的朋友可以参考下 php5.3自带php-fpm   代码如下: /usr/local/php/etc/php-fpm.conf     pid = run/php-fpm.pid pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启   error_log = log/php-fpm.log 错误日志,默认在安装目录中的var/log/php-fpm.log   log_level = notice 错误级别. 可用级别

MySQL服务器集群介绍与配置详解

1. 先了解一下你是否应该用MySQL集群. 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面.其他不共享的数据还维持在各自分布的MySQL数据库本身中. 2. 集群MySQL中名称概念.(如上图) 1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库.包括自身数据和查询中心结点数据. 2)数据结点(Data node