一步一步学JSP(环境配置,数据库连接,web应用配置)

js|web|数据|数据库|数据库连接

一、jsp运行环境配置
1.(apache+ resin-2.0.5)配置
如果你的网站是建立在apache下现在又想使用jsp,怎么办呢?你可以通过一些支持apache的jsp引擎(如resin,tomcat,jser等)来实现。这里介绍怎么配置apache+resin使apache支持jsp。 一、分别安装配置apache和resin使各自都单独能正常运行。
   apache和resin的安装后路径如下:c:apache 和 c: esin1.1。
2)、配置apache
  这里配置apache,使其装载resin的jsp引擎。增加如下的命令行到c:apacheconfhttp.conf配置文件中.
LoadModule aucho_module
3)、配置resin
  修改rsein的配置文件(c: esinconf esin.conf),指定其在apache下的jsp的工作目录。修改如下:
<caucho.com>
<http-server app-dir=`c:/apache/htdocs`>
<servlet-mapping rl-pattern=`/servlets/*` servlet-name=`invoker`/>
<servlet-mapping rl-pattern=`*.xtp` ervlet-name=`com.caucho.jsp.XtpServlet`/>
<servlet-mapping rl-pattern=`*.jsp` servlet-name=`com.caucho.jsp.JspServlet`/>
</http-server>
</caucho.com>
4)测试
  完成以上步骤后apache已经支持jsp和servlet. 运行apache,启动resin的jsp引擎(运行c: esin1.1insrun.exe).
jsp的运行目录为apache的htdocs下,而servlet运行目录为"c:apachehtdocsWeb-infclass"
把一个jsp文件(test.jsp )放入apache的htdocs目录下
test.jsp如下:
<%@ page language=java?>
2+2=<%=2+2%>
浏览http://localhost:port/test.jsp 你将看到:2+2=4这个结果. 注: 调试环境win98+apache_1_3_12+resin1.1 ,port为WEB服务器端口号

2.(IIS 5.0+ resin-2.0.5)配置

IIS WEB以其管理操作简单和对ASP的支持而受不少人的喜欢。这里介绍怎么用resin使IIS支持jsp和servlet。
  1)分别安装配置iis和resin2.0.5使各自都单独能正常运行。iis和resin2.0.5的安装后路径如下:c:apache 和 c: esin2.0.5。
  2)配置IIS
    1.拷贝iis_srun.dll 到IIS scripts目录"c:inetpubscripts";
    2.在c:inetpubscripts目录下创建配置文件(resin.ini)用于指定resin的配置文件的位置。
     resin.ini内容如下:        CauchoConfigFile c:/resin2.0.5/conf/resin.conf
  3)配置resin
   ?<caucho.com>
    <http-server app-dir=`C:Inetpubwwwroot`>
    <servlet-mapping rl-pattern=`/servlets/*` servlet-name=`invoker`/>
    <servlet-mapping rl-pattern=`*.xtp` ervlet-name=`com.caucho.jsp.XtpServlet`/>
    <servlet-mapping rl-pattern=`*.jsp` servlet-name=`com.caucho.jsp.JspServlet`/>
    </http-server>
    </caucho.com>
 4)测试
    1、 运行IIS,启动resin的jsp引擎(运行c: esin2.0.5insrun.exe)
    2、 把一个jsp文件(test.jsp )放入IIS的C:Inetpubwwwroot目录下.
    test.jsp如下:
     <%@ page language=java?>
     2+2=<%=2+2%> 浏览http://localhost:port/test.jsp。你将看到:2+2=4<??这个结果 注:port为端口号,调试环境nt4.0+iis+resin1.1

数据连接池的学习
poolman是一个优秀的连接池。下载地址为http://telia.dl.sourceforge.net/sourceforge/poolman/
一个JDBC URL由三部分组成:协议标识(总是jdbc),驱动程序标识(如 odbc、idb、oracle等),数据库标识(其格式依赖于驱动程序)。例如,jdbc:odbc:demo,即是一个指向demo数据库的JDBC URL,而且访问该数据库要使用JDBC-ODBC驱动程序。每个连接池都有一个供客户程序使用的名字以及可选的用户帐号、密码、最大连接数限制。如果Web应用程序所支持的某些数据库操作可以被所有用户执行,而其它一些操作应由特别许可的用户执行,则可以为两类操作分别定义连接池,两个连接池使用相同的JDBC URL,但使用不同的帐号和密码。

Naming 类 的学习

Naming 类
java.rmi.Naming 类提供存储和获得对远程对象注册服务程序中远程对象进行
引用的方法。Naming 类中的方法以如下形式的,URL 格式的 java.lang.String

作为其中的一个参数:

//host:port/name
其中 host 是注册服务程序所在的主机(远程或本地),port 是注册服务程序
接收调用的端口号,name 是注 册表未作出解释的简单字符串。host 和 port
是可选的。如果省略了 host,则主机缺省值为本地 主机。如果省略了 port,

则端口缺省值为 1099,即 RMI 系统注册服务程序 rmiregistry 所用的“众所
周知”的端口。
为远程对象绑定名称即为稍后使用的远程对象关联或注册名称,可用于查询该远
程对象。可以使用 Naming 类的 bind 或 rebind 方法将远程对象与名称相关联

当远程对象已用 RMI 注册服务程序在本地主机上进行过注册(绑定)后,远程
(或本地)主机上的调用程序就可以按名称查询远程对象、获得其引用,然后在
对象上调用远程方法。必要时,某一主机上运行的服务器可以共享一个注册服务
程序。
服务器的各个进程也可创建和使用自己的注册服务程序
(详细信息,参见 java.rmi.registry.LocateRegistry.createRegistry 方法)

package java.rmi;
public final class Naming
{
public static Remote lookup(String url)
throws NotBoundException, java.net.MalformedURLException,
RemoteExceptio
n;
public static void bind(String url, Remote obj)
throws AlreadyBoundException, java.net.MalformedURLException,
RemoteExce
ption;
public static void rebind(String url, Remote obj)
throws RemoteException, java.net.MalformedURLException;
public static void unbind(String url)
throws RemoteException, NotBoundException, java.net.MalformedURLExce
ptio
n;
public static String[] list(String url)
throws RemoteException, java.net.MalformedURLException;
}
lookup 方法返回与名称的文件部分相关联的远程对象。如果名称未绑定到对象上
,则抛出 NotBoundException。
bind 方法将把指定名称绑定到远程对象上。如果该名称已绑定到某一对象上,

则抛出 AlreadyBoundException。

rebind 方法总将名称绑定到对象上,无论该名称是否已绑定。原有绑定将丢失。

unbind 方法将取消名称和远程对象间的绑定。如果没有绑定,则抛出 NotBound
Exception。

list 方法返回一个 String 对象的数组,该对象包含注册服务程序中绑定 URL
的快照。
为了向注册服务程序查询其内容列表,只需要 URL 上的主机名和端口信息;因此
,URL 的“file”部分将被忽略。
注意 : 这些方法也可能抛出 java.rmi.AccessException。AccessException 表
示调用程序无执
行特定操作的权限。例如,只有运行注册服务程序的主机上的本地客户机才允许
执行 bind、rebind
和 unbind 操作。但任何非本地客户机都可调用 lookup 操作。

web.xml的学习

现在我改为了tomcat的运行环境了!!
web.xml具体的语法请看这个网址
http://gceclub.sun.com.cn/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/index.html#611

JSP取得在WEB.XML中定义的参数

在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>

<servlet>
<servlet-name> myjsp </servlet-name>
<jsp-file> /MyJsp.jsp </jsp-file>
<init-param>
<param-name>firstparam</param-name>
<param-value>firstparamvalue</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name> myjsp </servlet-name>
<url-pattern> /myurl/* </url-pattern>
</servlet-mapping>

</web-app>

下面的程序无法取出在WEB.XML中定义的参数firstparam的值firstparamvalue
<html>
<HEAD><TITLE>my jsp page .jsp</TITLE></HEAD>
My init parameter is <%= application.getInitParameter("firstparam") %>
</html>

下面的程序就可以取出在WEB.XML中定义的参数firstparam的值firstparamvalue
<%
String Str1;
Str1=config.getInitParameter("firstparam");
Out.println(Str1);
%>

因为config是类javax.servlet.ServletConfig的对象,而application 是类 javax.servlet.ServletContext的对象.
如果指定WebLogic SERVER的侦听端口为80,那么在IE中就不用输入端口
http://hostname/myfile.html取代http://hostname:portnumber/myfile.html.
JNDI的学习

JNDI全称 Java Naming and Directory Interface
JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。
JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。
JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。JNDI使用通用的方式来暴露命名空间,即使用分层上下文以及使用相同命名语法的子上下文。
jndi的用途:
1。你可以用jndi来得到object类的属性
如:Attribute attr =directory.getAttributes(personName).get("email");
String email = (String)attr.get();
2。你可以用jndi来搜索对象
如:foxes = directory.search("o=Wiz,c=US", "sn=Fox", controls);
查找谁的名字叫Fox在wiz部门的员工?
3。你可以用jndi通过naming/directory服务查询像printers和databases的对象
如:查询 Printer
Printer printer = (Printer)namespace.lookup(printerName);
printer.print(document);
4。你可以用jndi列表出命名空间的特殊级别的内容
如:
NamingEnumeration list = namespace.list("o=Widget, c=US");
while (list.hasMore()) {
NameClassPair entry = (NameClassPair)list.next();
display(entry.getName(), entry.getClassName());
}
以上根据jndi文档翻译的
地址:
http://java.sun.com/products/jndi/overview.html
tomcat数据库连接池配置中的
java:comp/env代表你的JVM的环境,comp=computer env=environment

时间: 2024-10-29 22:02:15

一步一步学JSP(环境配置,数据库连接,web应用配置)的相关文章

web.xml配置后,tomcat启动不了

问题描述 web.xml配置后,tomcat启动不了 五月 08, 2016 5:51:47 下午 org.apache.catalina.startup.Catalina start 严重: The required Server component failed to start so Tomcat is unable to start. org.apache.catalina.LifecycleException: Failed to start component [StandardSe

深入浅析java web log4j 配置及在web项目中配置Log4j的技巧_java

在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

web.xml-web-xml配置后,tomcat启动出错

问题描述 web-xml配置后,tomcat启动出错 这是错在哪里? 严重: Exception starting Context with name [/JavaWebApp] org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JavaWebApp]] at org.apache.

IIS 配置JSP环境全攻略

一.软件简介 本文主要讲述如何用IIS+Tomcat3.1支持JSP及servlet环境.正常情况下IIS不支持servlet及JSP环境.我们通过使用一个IIS到Tomcat重定向的插件(plugin)使用IIS能够将所有的servlet及JSP请求发送到Tomcat执行以实现servlet及JSP环境. 二.文档定义 "tomcat_home"--假定为你安装tomcat的目录. 三.软件环境 Microsoft Windows NT 4.0 SP6a IIS 4.0 Tomcat

仅5步搞定Android开发环境部署 Android开发环境搭建教程_Android

在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助. 本教程将分为五个步骤来完成Android开发环境的部署. 第一步:安装JDK. 第二步:配置Windows上JDK的变量环境 . 第三步: 下载安装Eclipse . 第四步:下载安装Android SDK . 第五步:为Eclips

仅5步搞定Android开发环境部署 Android开发环境搭建教程

在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助. 本教程将分为五个步骤来完成Android开发环境的部署. 第一步:安装JDK. 第二步:配置Windows上JDK的变量环境 . 第三步: 下载安装Eclipse . 第四步:下载安装Android SDK . 第五步:为Eclips

【DG】[三思笔记]一步一步学DataGuard

[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)......................Oracle Data Guard.而对于我而言,我一定要亲切的叫它:DG(注:主要是因为打着方便). 不少未实际接触过dg的初学者可能会下意识以为dg是一个备份恢复的工具.我要说的是,这种形容不完全错,dg拥有备份的功能,某些情况下它甚至可以与primary数据库

一步一步学EJB3.0(三):悟透会话Bean(下)

三.无状态会话Bean实例 在上一篇文章里,其实我们已经应用到了无状态会话Bean,那好,下面我们详细的来分析下上一篇文 章里给出的示例程序. 没有阅读过的朋友请点击这里阅读:<<一步一步学EJB 3.0(二):初探企业 EJB模块开发>> . 首先我们来看看接口的定义: 1 /** 2 * 远程接口 3 * @author Beniao 4 */ 5 @Remote 6 public interface HelloRemote { 7 void sayHello(String s

一步一步学NUnit(2)

前一章我们简单介绍了NUnit的入门示例<一步一步学NUnit(1)>,让大家对NUnit有个简单的认识. NUnit的使用是非常简单的,但是它在项目中使用时,有许多最佳实践.这章我们把上一章没有讲到的 NUnit的一些配置和特性介绍一下. 要想熟练地使用NUnit还是要在实践中使用和体会,单纯地学习知识点是没有用的. 好,不再废话了.继续上一章的内容. 在Visual Studio 2008 中打开上一章的示例,Calculator类有4个最简单的方法:加.减.乘.除. Calculator