欢迎光临
我们一直在努力

一步一步学JSP(环境配置,数据库连接,web应用配置)-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

一、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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 一步一步学JSP(环境配置,数据库连接,web应用配置)-JSP教程,Jsp/Servlet
分享到: 更多 (0)

相关推荐

  • 暂无文章