分享
 
 
 

Servlet/JSP配置入门

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Servlet/JSP配置入门

作者:佚名 来自:未知

初学者问的诸如:怎样配置环境变量、怎样运行Servlet啊?这样的问题太多了,现在我写一个初学者入门必读,以便对初学者有指导作用!

首先是下载工具:

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

从而难以达到知其然,知其所以然的地步

然后就是安装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'不是内部或外部命令,也不是可运行的程序或批处理文件。”这样的错误。

然后下面就该写程序了:

首先是(HelloWorld.java),打开Editplus,新建一个Java文件,请照着如下输入,要一字不漏,并且分清大小写:

publicclassHelloWorld{

publicstaticvoidmain(String[]args){

System.out.println("Hello,World!");

}

}

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

下面就该运行了,开始->运行->cmd

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

javacHelloWorld.java

javaHelloWorld

你就会在控制台上看见输出的Hello,World!(没出来?我把电脑吃了:))

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

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

在这个时候:

1。如果出现Exceptioninthread"main"java.lang.NoClassDefFoundError:HelloWorld

那就是你在环境变量中没有加上那个.(dot)

2。如果出现Exceptioninthread"main"java.lang.NoSuchMethodError:main

或者HelloWorld.java:1:Publicclasshelloworldmustbedefinedinafilecalled

"HelloWorld.java".

那就是你没有分清大小写的写入这个HelloWorld,或者保存得时候没有保存为HelloWorld.java

这个名字一定要跟publicclass的名字一样

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

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

菜单文字:CompileJavaProgram

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

参数:文件名称

初始目录:文件目录

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

菜单文字:RunJavaProgram

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

初始目录:文件目录

工具组名称可以随便添,比如DebugJavaProgram

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

下面就讨论Servlet的运行:

首先要运行Servlet,则需要JSP/Servletcontainer,我建议初学者用Tomcat,下载TOMCAT,然后把这个压缩包解压到:

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

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclassHelloWorldextendsHttpServlet

{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException

{

response.setContentType("text/html");

PrintWriterout=response.getWriter();

out.println("<html><head><title>");

out.println("ThisismyfirstServlet");

out.println("</title></head><body>");

out.println("<h1>Hello,World!</h1>");

out.println("</body></html>");

}

}

然后照样用javacHelloWorld.java来编译这个文件,如果出现无法importjavax.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众望所归的报错了:Error404--NotFound

怎么回事呢?

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!等着你呢,恭喜你

摆平了:)

艾,手都打累了,就写到这儿吧,希望对初学者有一点作用!

================================

如何建立一个连接数据库的应用?例如连接access、和sqlsever.

听说有jdbcjdbc-odbc桥等方式。目前我的机器上只有jdk1.4,我想用jdbc的方式还需要装什么环境吗?

如果要jdbc的驱动等环境那里可以下到?还有程序怎样写?

--------------------------------

如果用驱动桥的话就不需要另外安装别的东西

控制面版-->管理工具-->数据源(ODBC)-->SystemDSN

中加入你的数据库映射,选好相应的数据库驱动

然后就可以通过

jdbc:odbc:设置好的DSN名

的方式来连接数据库了

----------------------------------

packageCBK00D.COMMON;

/**

*Title:

*Description:

*Copyright:Copyright(c)2001

*Company:

*@author

*@version1.0

*/

importjava.io.*;

importjava.util.*;

importjava.sql.*;

importjava.lang.*;

publicclassDBConnect{

privateStringjdbcDriver=null;

privateStringjdbcURL=null;

privateStringuserName=null;

privateStringpassword=null;

publicDBConnect(){

jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";

jdbcURL="jdbc:odbc:cbk";

userName="system";

password="manager";

}

publicConnectiongetConnection(){

Connectionconnection=null;

try{

Class.forName(jdbcDriver);

connection=DriverManager.getConnection(jdbcURL,userName,password);

}catch(Exceptione){

System.out.println(e);

}

returnconnection;

}

}

这是普通的连接方法!只要修改一下就可以了。

--------------------------------------

似乎是这样的,要先rs.next()一下

jdbc-odbc桥不好吗?^_^

JAVA连接数据库的方式有多种:

根据所需要的不同数据库驱动分,分为四种:

1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。

2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。

3:3类驱动。这就是JDBC+厂商DatabaseConnectionServer+DataBase的形式。

这种方法就是在JAVA与DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。

4:4类驱动。这就是纯JDBC+DATABASE的连接方式。也是推荐的连接方式。这使得APPLICATION与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。在这其中有两种连接的方式:

硬编码方式,就是在程序中硬性编入数据库连接的所须参数。

JNDIDataSource方式。就是在程序运行的外布环境中又称(Context)设置一个datasource数据源,有一个jndi名称,程序只须查找此名称就可得到一个数据库连接的对象。

=====================================

jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.sql.*"%>

<html>

<body>

<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";

// orcl为你的数据库的SID

Stringuser="scott";

Stringpassword="tiger";

Connectionconn=DriverManager.getConnection(url,user,password);

Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

Stringsql="select*fromtest";

ResultSetrs=stmt.executeQuery(sql);

while(rs.next()){%>

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

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

<%}%>

<%out.print("数据库操作成功,恭喜你");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有