[原创]servlet/jsp配置详解_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2765 | 回复: 0   主题: [原创]servlet/jsp配置详解        下一篇 
    本主题由 koei 于 2014-5-2 16:25:34 移动
luqunfang
注册用户
等级:少校
经验:1219
发帖:74
精华:0
注册:2012-6-25
状态:离线
发送短消息息给luqunfang 加好友    发送短消息息给luqunfang 发消息
发表于: IP:您无权察看 2012-6-29 9:39:20 | [全部帖] [楼主帖] 楼主

初学者问的诸如:怎样配置环境变量?怎样运行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.java
java 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:\JDK
TOMCAT_HOME: C:\Tomcat
CLASSPATH: %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)
      throws ServletException,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.html
ROOT\welcom.jsp


ROOT\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!等着你呢。 
  附:Jsp开发环境配置全过程
  在配置Jsp开发环境的过程中会碰到不少问题,感谢许多前辈经验总结性的文章对我来说简直是雪中送碳,为了帮助像我一样的初学者,在此总结了不少作者的经验,非常感谢他们的无私奉献精神,也希望更多的人把这种精神发扬光大。
  以下软件下载连接地址无法显示的话,请直接到官方网站下载即可!
  软件下载
  Mysql
  下载版本:mysql-4.1.13-win32.zip(Windows downloads)
http://dev.mysql.com/downloads/mysql/4.1.html
  JDBC驱动
  下载版本:mysql-connector-java-3.1.10.zip
http://dev.mysql.com/downloads/connector/j/3.1.html

下载j2sdk
  下载版本:jdk-1_5_0_04-windows-i586-p.exe
http://java.sun.com/j2se/1.5.0/download.jsp
  下载tomcat
  下载版本: jakarta-tomcat-5.5.9.exe
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
  安装,配置j2sdk:
  执行j2sdk安装程序,按默认设置进行安装,也可自定义路径,但需修改下面的配置
  配置j2sdk:
  配置环境变量:
  我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

JAVA_HOME=C:\Program Files\Java\jdk1.5.0_04
CLASSPATH=%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
path=%JAVA_HOME%\bin;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem

    写一个简单的java程序来测试J2SDK是否已安装成功: 

public class hello

public static void main(String args[])

System.out.println(Hello); 

}

将程序保存为文件名为hello.java的文件。 
  打开命令提示符窗口,进入到hello.java所在目录,键入下面的命令: 

javac hello.java 
java hello

此时若打印出来hello则安装成功,若没有打印出这句话,仔细检查以上配置是否正确。 
  注意系统文件夹选项中应确定“隐藏已知文件类型的扩展名”不勾选。
  安装,配置tomcat
  执行tomcat安装程序,按默认设置进行安装,也可自定义路径,但需修改下面的配置:
  我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量

CATALINA_HOME=C:\Program Files\Apache
Software Foundation\Tomcat 5.5
CATALINA_BASE=C:\Program Files\Apache 
Software Foundation\Tomcat 5.5

修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet-api.jar添加到classpath中去,修改后的classpath如下: 

classpath=%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;

启动tomcat,在IE中访问http://localhost:8080,若看到tomcat的欢迎页面的话说明安装成功。 
  安装mysql 
  解压缩mysql-4.1.13-win32.zip,运行setup.exe 
  首先出现的是安装向导欢迎界面,直接点击“Next”继续,选择安装类型,选择“自定义”custom安装,然后点“Next”下一步,出现自定义安装界面,选择安装路径:C:\MySQL Server 4.1(可自定义)点“OK”返回到自定义安装界面,路径已改为设置的路径,点“Next”,准备开始安装,点“Install”开始安装,完成后出现创建MySQL.com帐号的界面。 
  如果是首次使用MySQL,选“Create anew free MySQL.com accout”,点“Next”,输入你的Email地址和自己设定的用于登录MySQL.com的密码,填完后点“Next”进入第二步,填写姓名等相关信息,填完点“Next”,进入第三步,填完电话号码、公司名称等信息后,点“Next”,然后出现预览你刚才填的信息的界面,点“Next”出现安装完成界面。 
  注意,这里有个配置向导的选项(Configure the MySQL Server now),建议勾选立即配置你的MySQL。许多说安装完MySQL后无法启动,原因就在于没有配置MySQL。 
  点击“Finish”完成安装,并开始配置MySQL,点“Next”,进入配置类型选择页面。选“Detailed configuration”(详细配置),点“Next”,进入服务类型选择页面。选“Developer Machine”(开发者机器),这样占用系统的资源不会很多,点“Next”后,进入数据库用法选择页面。 
  选择“Multifunctional Database”,点“Next”,进入选择InnoDB数据存放位置页面,不用更改设置,直����放在Installation Path安装目录里即可,然后点“Next”,选择MySQL的同时联接数,选择“Manual Setting”,设置为100(根据自己需要,酌情设置) 
  点“Next”,配置MySQL在TCP/IP通讯环境中的端口选择默认的3306端口即可。点“Next”,选择MySQL中的字符设置,注意,这里的选择将会影响你是否能在MySQL中使用中文。选择gb2312字符集以便支持简体中文,点“Next”,设置Windows服务选项,注意,这里的选择很关键。 
  “Install As Windows Service”一定要勾选,这是将MySQL作为Windows的服务运行。“Service Name”就用默认的“MySQL”下面的“Launch the MySQL Server automatically”一定要勾选,这样Windows启动时,MySQL就会自动启动服务,要不然就要手工启动MySQL。 
  许多人说安装MySQL后无法启动、无法连接、出现10061错误,原因就在这里。点“Next”,设置根帐号root的登录密码,“Modify Security Settings”是设置根帐号的密码,输入你设定的密码即可。 
  “Create An Anonymous Account”是创建一个匿名帐号,这样会导致未经授权的用户非法访问你的数据库,有安全隐患,建议不要勾选。 
  点“Next”,MySQL配置向导将依据你上面的所有设定配置MySQL,以便MySQL的运行符合你的需要,点“Execute”开始配置,当出现“Service started successfully”时,说明你的配置完成,MySQL服务启动成功 
  点“Finish”完成,整个MySQL的配置完成,剩下的就是用MySQL客户端连接MySQL服务器,然后使用了。 
  安装JDBC驱动: 
  解压缩mysql-connector-java-3.1.10.zip 
  将要使用的是mysql-connector-java-3.1.10-bin-g.jar 
  和mysql-connector-java-3.1.10-bin.jar 
  配置 
  在C:\Program Files\Java目录下建立mysqlforjdbc子目录,进入该目录将mysql-connector-java-3. 
  1.10-bin.jar到该目录下 
  进入C:\Program 
  Files\Java\jdk1.5.0_04\lib目录将mysql-connector-java-3.1.10-bin-g.jar拷贝到该目录下然后配置classpath,追加%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g. 

jar;C:\Program


Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;到该环境变量中去。 
  追加以后环境变量如下: 

CLASSPATH=%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
C:\Program Files\Apache Software
Foundation\Tomcat5.5\common\lib\servlet-api.jar;
%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;
C:\Program Files\Java\mysqlforjdbc
\mysql-connector-java-3.1.10-bin.jar;


配置这个的目的是让java应用程序找到连接mysql的驱动。 
  查看并启动MySQL服务 
  在Windows XP下安装完MySQL后,它就已经自动启动服务了,并且在开始菜单中有其客户端的快捷方式连接,可以通过Windows的服务管理器查看。“开始”-“运行”,输入“services.msc”,回车。 
  弹出Windows的服务管理器,然后就可以看见服务名为“mysql”的服务项了,其右边标明“已启动”在开始菜单-所有程序-MySQL-MySQL Server 4.1-MySQL Command Line Client用客户端的快捷方式连接,输入安装时设置的密码即可。 
  数据库的使用 
  Mysql安装完毕以后,在开始菜单-所有程序-MySQL-MySQL Server 4.1-MySQL Command Line Client用客户端的快捷方式连接 
  输入安装时设置的密码 
  使用mysql的基本命令(在mysql命令行编辑每输入完命令后最后一定要有分号) 
  显示数据库:show databases; 
  使用数据库:use 数据库名; 
  建库 
  在mysql里建一个数据库first,以及在数据库里建一个表about 
  命令:create database first; 
  为数据库设置权限(用户和密码) 
  命令:

grant all privileges on first.* to test@localhost identified by “123456”;


当你执行完这个命令以后,只要你再以用户名:test,密码:123456登录时你就只可以对first这个数据库操作,这样避开使用root 
输入命令:use first; 
  使用first数据库; 
  在first库中建表 
  命令: 

create table about(id int(8)
primary key,name varchar(10));


在表中假如数据: 
  命令: 

insert into about values
(xyw1026,laojiang);


退出 
  命令:

exit


JSP连接mysql 
  在C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps目录下建立子目录myapp 
  进入C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp目录下 
  用记事本编写一个文件保存为first.jsp 
  代码如下: 

<%@ page contentType=text/html;charset=gb2312%>
<%@ page import=java.sql.*%>
<html>
<body>
<%Class.forName
(org.gjt.mm.mysql.Driver).newInstance();
String url =jdbc:mysql:
//localhost/softforum?user=
soft&password=soft1234&useUnicode=
true&characterEncoding=8859_1
//first为你的数据库名 
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql=select * from first;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>


您的第一个字段内容为:<%=rs.getString(1)%> 
您的第二个字段内容为:<%=rs.getString(2)%> 

<%}%>
<%out.print(数据库操作成功,恭喜你);%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>


在浏览器中输入: 

http://127.0.0.1:8080/myapp/first.jsp


若出现: 

id|num
0 |laojiang


数据库操作成功,恭喜你,表示配置成功 
  进入C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp目录 
  在myapp目录下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 
  在WEB-INF下用记事本新建一个文件,命名为web.xml,内容如下: 

<?xml version=1.0 encoding=ISO-8859-1?>
<!DOCTYPE web-app
PUBLIC -//Sun Microsystems,
Inc.//DTD Web Application 2.3//EN
http://java.sun.com/dtd/web-app_2_3.dtd>
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>


在myapp下用记事本新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: 

<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>


重启Tomcat 
  打开浏览器,输入http://localhost:8080/myapp/index.jsp
  看到当前时间的话说明成功安装。 
  建立自己的Servlet: 
  用记事本新建一个servlet程序,文件名为HelloWorld.java,文件内容如下: 

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
      public void doGet
      (HttpServletRequest request
      ,HttpServletResponse response)
      throws ServletException,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>);
      }
}


编译 
  将HelloWorld.java剪切到C:\Program Files\Apache Software Foundation\Tomcat5.5\common\classes目录下 
命令行方式下输入: 

cd C:\Program Files\Apache Software Foundation
\Tomcat5.5\common\classes
javac HelloWorld.java


用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.* 
  则将C:\Program Files\Apache Software 
Foundation\Tomcat5.5\common\lib目录下的servlet-api.jar文件拷贝并添加到 
  C:\Program Files\Java\jre1.5.0_04\lib\ext目录中去就可以了。 
  然后在C:\Program Files\Apache Software 
  Foundation\Tomcat5.5\common\classes下会产生一个编译后的servlet文件: 

HelloWorld.class


用记事本打开C:\Program Files\Apache Software 
  Foundation\Tomcat5.5\webapps\ROOT\WEB-INF目录下的web.xml如下所示,添加后的 
  内容如下: 

<!-- JSPC servlet mappings start -->
<servlet>
<servlet-name>org.apache.
jsp.index_jsp</servlet-name>
<servlet-class>org.apache.
jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.
jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<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>
<!-- JSPC servlet mappings end -->
</web-app>


这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet“映射”到/servlet/HelloWorld地址上。 
  启动Tomcat,启动浏览器,输入http://localhost:8080//servlet/HelloWorld,如果看到输出HelloWorld!就说明编写的servlet成功了。注意:修改了web.xml以及新加了class,都要重启Tomcat也可以在自己创建的目录下测试如: 
  将HelloWorld.class拷贝到C:\Program Files\Apache Software 
  Foundation\Tomcat5.5\webapps\myapp\WEB-INF\classes目录下 
  其中classes目录若没有就创建一个 
  用记事本打开C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\myapp\WEB-INF目录下的web.xml如下所示,修改后的内容如下: 

<!-- JSPC servlet mappings start -->
<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>
<!-- JSPC servlet mappings end -->
</web-app>


启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/servlet/HelloWorld 如果看到输出HelloWorld!就说明编写的servlet成功了。注意:修改了web.xml以及新加了class,都要重启Tomcat,建立自己的javaBean: 
  用记事本新建一个java程序,文件名为TestBean.java,文件内容如下: 

package test;
public class TestBean
{
      private String name = null;
      public TestBean(String strName_p)
      {
            this.name=strName_p;
      }
      public void setName(String strName_p)
      {
            this.name=strName_p;
      }
      public String getName()
      {
            return this.name;
      }
}


编译

将TestBean.java放在c:\test下,使用如下命令编译: 

C:\test>javac TestBean.java


然后在c:\Test下会产生一个编译后的bean文件:TestBean.class 
  将TestBean.class文件剪切到C:\Program Files\Apache Software 
  Foundation\Tomcat5.5\webapps\myapp\WEB-INF\classes\test目录下, 
  若无某些子目录则创建一个,新建一个TestBean.jsp文件,文件内容为: 

<%@ page import=test.TestBean %>
<html><body><center>
<%
TestBean testBean=new TestBean
(This is a test java bean.);
%>
Java bean name is:
<%=testBean.getName()%>
</center></body></html>


重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean 就说明编写的javaBean成功了。 

该贴由koei转至本版2014-5-2 16:25:34




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论