JAVA网页编程之一步一步学JSP(情况设置,数据库毗连,...
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。js|web|数据|数据库|数据库毗连1、jsp运转情况设置1.(apache+resin-2.0.5)设置
假如你的网站是创建在apache下如今又想利用jsp,怎样办呢?你能够经由过程一些撑持apache的jsp引擎(如resin,tomcat,jser等)来完成。这里先容怎样设置apache+resin使apache撑持jsp。1、分离安拆卸置apache和resin使各自都独自能一般运转。
apache和resin的安装后路径以下:c:apache和c:esin1.1。
2)、设置apache
这里设置apache,使其装载resin的jsp引擎。增添以下的命令行到c:apacheconfhttp.conf设置文件中.
LoadModuleaucho_module
3)、设置resin
修正rsein的设置文件(c:esinconfesin.conf),指定其在apache下的jsp的事情目次。修正以下:
<caucho.com>
<http-serverapp-dir=`c:/apache/htdocs`>
<servlet-mappingrl-pattern=`/servlets/*`servlet-name=`invoker`/>
<servlet-mappingrl-pattern=`*.xtp`ervlet-name=`com.caucho.jsp.XtpServlet`/>
<servlet-mappingrl-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以下:
<%@pagelanguage=java?>
2+2=<%=2+2%>
扫瞄http://localhost:port/test.jsp你将看到:2+2=4这个了局.注:调试情况win98+apache_1_3_12+resin1.1,port为WEB服务器端标语
2.(IIS5.0+resin-2.0.5)设置
IISWEB以其办理操纵复杂和对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到IISscripts目次"c:inetpubscripts";
2.在c:inetpubscripts目次下创立设置文件(resin.ini)用于指定resin的设置文件的地位。
resin.ini内容以下: CauchoConfigFilec:/resin2.0.5/conf/resin.conf
3)设置resin
?<caucho.com>
<http-serverapp-dir=`C:Inetpubwwwroot`>
<servlet-mappingrl-pattern=`/servlets/*`servlet-name=`invoker`/>
<servlet-mappingrl-pattern=`*.xtp`ervlet-name=`com.caucho.jsp.XtpServlet`/>
<servlet-mappingrl-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以下:
<%@pagelanguage=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/
一个JDBCURL由三部分构成:协定标识(老是jdbc),驱动程序标识(如odbc、idb、oracle等),数据库标识(其格局依附于驱动程序)。比方,jdbc:odbc:demo,便是一个指向demo数据库的JDBCURL,并且会见该数据库要利用JDBC-ODBC驱动程序。每一个毗连池都有一个供客户程序利用的名字和可选的用户帐号、暗码、最年夜毗连数限定。假如Web使用程序所撑持的某些数据库操纵能够被一切用户实行,而别的一些操纵应由出格允许的用户实行,则能够为两类操纵分离界说毗连池,两个毗连池利用不异的JDBCURL,但利用分歧的帐号和暗码。
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办法)
。
packagejava.rmi;
publicfinalclassNaming
{
publicstaticRemotelookup(Stringurl)
throwsNotBoundException,java.net.MalformedURLException,
RemoteExceptio
n;
publicstaticvoidbind(Stringurl,Remoteobj)
throwsAlreadyBoundException,java.net.MalformedURLException,
RemoteExce
ption;
publicstaticvoidrebind(Stringurl,Remoteobj)
throwsRemoteException,java.net.MalformedURLException;
publicstaticvoidunbind(Stringurl)
throwsRemoteException,NotBoundException,java.net.MalformedURLExce
ptio
n;
publicstaticString[]list(Stringurl)
throwsRemoteException,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文件中设置参数:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.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>myjsppage.jsp</TITLE></HEAD>
Myinitparameteris<%=application.getInitParameter("firstparam")%>
</html>
上面的程序就能够掏出在WEB.XML中界说的参数firstparam的值firstparamvalue
<%
StringStr1;
Str1=config.getInitParameter("firstparam");
Out.println(Str1);
%>
由于config是类javax.servlet.ServletConfig的对象,而application是类javax.servlet.ServletContext的对象.
假如指定WebLogicSERVER的侦听端口为80,那末在IE中就不必输出端口
http://hostname/myfile.html代替http://hostname:portnumber/myfile.html.
JNDI的进修
JNDI全称JavaNamingandDirectoryInterface
JNDI是Java平台的一个尺度扩大,供应了一组接口、类和关于定名空间的观点。好像别的良多Java手艺一样,JDNI是provider-based的手艺,表露了一个API和一个服务供给接口(SPI)。这意味着任何基于名字的手艺都能经由过程JNDI而供应服务,只需JNDI撑持这项手艺。JNDI今朝所撑持的手艺包含LDAP、CORBACommonObjectService(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。良多J2EE手艺,包含EJB都依托JNDI来构造和定位实体。
JDNI经由过程绑定的观点将对象和称号接洽起来。在一个文件体系中,文件名被绑定给文件。在DNS中,一个IP地点绑定一个URL。在目次服务中,一个对象名被绑定给一个对象实体。
JNDI中的一组绑定作为高低文来援用。每一个高低文表露的一组操纵是分歧的。比方,每一个高低文供应了一个查找操纵,前往指命名字的响应对象。每一个高低文都供应了绑定和撤消绑命名字到某个对象的操纵。JNDI利用通用的体例来表露定名空间,即便用分层高低文和利用不异定名语法的子高低文。
jndi的用处:
1。你能够用jndi来失掉object类的属性
如:Attributeattr=directory.getAttributes(personName).get("email");
Stringemail=(String)attr.get();
2。你能够用jndi来搜刮对象
如:foxes=directory.search("o=Wiz,c=US","sn=Fox",controls);
查找谁的名字叫Fox在wiz部门的员工?
3。你能够用jndi经由过程naming/directory服务查询像printers和databases的对象
如:查询Printer
Printerprinter=(Printer)namespace.lookup(printerName);
printer.print(document);
4。你能够用jndi列表出定名空间的特别级其余内容
如:
NamingEnumerationlist=namespace.list("o=Widget,c=US");
while(list.hasMore()){
NameClassPairentry=(NameClassPair)list.next();
display(entry.getName(),entry.getClassName());
}
以上依据jndi文档翻译的
地点:
http://java.sun.com/products/jndi/overview.html
tomcat数据库毗连池设置中的
java:comp/env代表你的JVM的情况,comp=computerenv=environment
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak, 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 是一种使用者不需花费很多时间学习的语言 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 是一种使用者不需花费很多时间学习的语言 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 Java是一种计算机编程语言,拥有跨平台、面向对java Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。
页:
[1]