当前位置: 首页 > news >正文

东莞网站建设优化web网页

东莞网站建设优化,web网页,深圳做网站维护的公司,wordpress 相关产品一、Java Web服务器选择简介在实际进行java Web项目实施的时候,我们可以采用的商业java Web服务器有Ibm WebSphere,Bea Web Logic。这两种服务器功能齐全而强大,支持所有的java 服务容器标准,适合成品商业java Web应用的发布。但是这两种服务…

一、Java Web服务器选择简介
在实际进行java Web项目实施的时候,我们可以采用的商业java Web服务器有Ibm
WebSphere,Bea Web Logic
。这两种服务器功能齐全而强大,支持所有的java 服务容器标准,适合成品商业java
Web应用的发布。但是
这两种服务器是商业服务器,价格昂贵,而且对系统资源要求极高。特别是Websphere
配置复杂,如果不配合
采用ibm Websphere Studio Application非常不适合开发。而且他们不同的版本对servl
et.jar等javax组件和
jdk的要求不同。如Websphere 3.5所要求的servlet.jar 支持的是旧版本的javax.servl
et.http.HttpSession
操作,不支持session.setAttribute() session.getAttribute()。
在开发或者学习过程中,有许多免费的轻型的Java Web服务器可以供我们选用,如Tomca
t,Resin,Orion等等。
他们使用都很方便,占用资源也很少,适合开发中不断的调试;还可以和Jbuilder这样
的集成开发工具集成使
用。根据实际开发中的情况来看,Jakata Tomcat 和Sun Java结合的最好,和其他应用


服务器配合使用可支持
完整的j2ee标准,应用也很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解
决的最好。还有从使
用的角度讲,个人认为Resin比Tomcat方便,而且Resin也可以结合Jbuilder6等ide使用
。Resin强调使用Xml技
术,从Resin自己的HomePage使用xtp就可以看出来。
二、Resin的安装和配置
Resin 可以在 http://www.caucho.com/download/index.xtp免费下载和使用。使用Res
in开发或者学习是免
费的,但是如果把Resin作为收费产品发布是需要付费的。目前的版本是2.10。
下载Resin 时选择Archive Versions 中的 windows.zip的普通安装包resin-2.1.0.zip

把该zip包解压到任何目录下面,如d:resin。以下介绍都假设Resin安装在d:resin下
。进入d:resinbin,
键入httpd,可以在命令行控制台下运行Resin服务器。此时弹出一个有start 和stop两
个Radio按纽和一close
按纽的对话框。在这里可以看到Resin的运行信息。这些信息同时Resin可以在d:resin
log目录下面的
stdout.log 日志文件中察看到。如:
Resin 2.0.4 (built Thu Nov 15 17:56:24 PST 2001)


Copyright(c) 1998-2001 Caucho Technology. All rights reserved.
Starting Resin on Wed, 23 Jan 2002 14:41:47 +0800 (CST)
http listening to *:80
srun listening to haitaiserver:6802
点选stop,可以停止当前的Resin服务器进程;再点选start,又可以开启新的Resin服务
器进程。关闭该对话
框,则回到Command 控制台的盘符提示状态下。如果在nt4或者win2k环境下,需要把Res
in当成服务,只需要
在Command控制台的该目录下,键入 httpd ?install,就可以在管理工具的服务下面看
到新增了一条Resin
Web Server的自动的服务。以后只要进入nt 4或者win2k,就可以启动Resin服务。该服
务也可以像其他服务一
样设置成手动或者禁用状态。注意有的时候在安装完服务后,启动Resin,并不能看到自
己写的Resin例程可以
被解析,浏览器显示服务器找不到错误。只要重新启动win2k或者nt,就能解决该问题。
下面简要介绍一下Resin服务器的配置。Resin服务器和大多数Java Web服务器一样,通
过一个Xml文件配置。
进入d:resinconf目录,打开resin.conf,这是一个xml格式的文本。
这里面有很多标记,先查找到:<http-server>。在<http-server></http-server>标记
对中的配置和resin的
Java Web 服务器有关。找到<app-dir>,在<app-dir></app-dir>标记对中的表示resin
的根,相当于Apache的
htdocs 或者 IIS 的wwwroot。Resin自带http服务器,但是也可以不使用它,采用Apach
e 或者 IIS做http服
务器。这个在下面段落中会提到。
再查找<http port="8080"/>标记,它可以这样配置<http host="localhost"
port="80"/>。host参数指定的
是服务器,port指定的是http端口,默认是localhost和8080。还有<srun
host="localhost" port="6802"/>
标记。这个是jsp和java Servlet的引擎配置。一般默认就可以了,除非6802端口已经被
别的程序占用了。然
后,配置jdk。这个需要在classpath中设置。右键点击我的电脑,在系统特性的高级标
签中,点击环境变量,
在系统变量中新建一个环境变量,变量名为classpath,值为jdk所在的目录;再新建另
外一个环境变量,变量
名为path,值为javac.exe和java.exe所在的目录(在jdk所在的目录下面的bin目录下)
。一般这样子配置以
后,Resin就可以使用了。在d:resindoc中(假设你的<appdir></appdir>对中的名称
是doc,也就是根是

 


d:/resin/doc,而且你的<http host="localhost" port="80"/>如左配置),随便写一
个jsp文件,如可以写
个test.jsp文件,内容为<%=1+2+3%>。然后,在浏览器中,键入http://localhost/test
.jsp。如果你可以看
到浏览器显示6,则表示Resin服务器已经可以正常运行了。注意,修改配置后,一般重
新启动resin才能看到
变化。
三、Resin使用简介
使用Resin开发Java Web项目时,需要建立自己的WebApp。这里不介绍Resin Cmp/Ejb的
开发和使用,只介绍用
Resin开发普通的jspjava servlet项目。在这里还要谈到resin.conf的配置。Resin中
的应用可以有2种方式
发布:一是在Resin的目录下发布;二是打包成War发布。
1、在Resin的目录下发布
在resin.conf中查找<web-app>标签,该标签表示一个web应用。
标签中,id属性表示该应用的Web路径。如<web-app id="/test">,表示该应用在Web上
访问的时候应该用
http://hostname/test/来访问。app-dir属性表示该应用的实际路径。如
<app-dir>d:resindoctest</app-dir>表示该应用在d:resindoctest目录下面。默
认值为根下面的和id
同名的目录。Resin可以配置3种error-page:404错误也就是文件找不到错误页;Except
ion违例页;不能连接
java引擎页。他们分别可以这样子设置。
404文件找不到页
<web-app id="/app1">
<error-page error-code="404" location="/file_not_found.jsp"/>
</web-app>
Exception 违例页
<web-app id="/foo">
<error-page exception-type="java.lang.NullPointerException"
location="/nullpointer.jsp"/>
</web-app>
不能连接到srun Servlet引擎错误页
该页设置和应用无关,属于服务器的设置。
<http-server>
<error-page exception-type="connection"
location="/missing_file.html"/>
</http-server>
classpath的设置
参见下面的语句:
<classpath id="WEB-INF/classes" source="WEB-INF/src" compile="true"/>
id参数的值表示classpath中编译后的class的存放路径;source参数的值表示classpath
中java源代码的存放
路径;compile中的值可能是true或者false,表示是否由Resin的srun自动编译java源代
码。Classpath的设置
一般和javaBean或者Servlet的使用有关。id的值表示javaBean的编译好的包存放的根,
source的值表示
javaBean的java源代码存放的根。Servlet相同。
Servlet的设置
参见下面的语句:
<servlet-mapping url-pattern="*.xtp" servlet-name="xtp"/>
<servlet-mapping url-pattern="*.jsp" servlet-name="jsp"/>
<servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>
一般就是指定那些需要通过srun的解析。比如在这里,把*.jsp改成*.jss,其他不变,
那么只要在访问时遇到
*.jss的文件就和原来遇到*.jsp一样处理。通过这个可以指定解析的引擎,如以下的配
置:
<servlet-mapping url-pattern="*.xtp"
servlet-name="com.caucho.jsp.XtpServlet"/>
在Servlet中,也可以指定servlet。如
<servlet servlet-name="hello" servlet-class="test.HelloWorld"/>
<servlet-mapping url-pattern="/hello.html" servlet-name="hello"/>
在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配置成fa
lse,忽略大小写,从
而和windows的约定一致。
Session的配置
参见如下的配置语句:
<session-config>
<session-max>4096</session-max>


<session-timeout>30</session-timeout>
<enable-cookies>true</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
<file-store>WEB-INF/sessions</file-store>
</session-config>
session-max :最大 session数量
session-timeout :session过期时间,以分钟为单位。
是否允许cookie :指session是否采用cookies。如果采用cookies,浏览器必须支持ses
sion才能使用,发布
时建议改成false。enable-url-rewriting和enable-cookies一般配合使用。如果enable
-cookies是false,
enable-url-rewriting应该设成true比较合适。
file-store :该配置指示服务器是否把session作为文件存放在服务器上。如果把该项
注释掉,则在你的
web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Session还有jd
bc-store配置,对应
着把session通过jdbc永久保存在数据库中。其实也就是会话变量的序列化后的保存和重
新载入的物理实现。
在这里session还支持了多服务器的设置问题,
通过tcp-store参数设置。由于涉及到负载平衡的问题,在这里不详细叙述,只简单写一
个例子:
<http-server>
<http id="a" port="80"/>
<srun id="a" host="host-a" port="6802"/>
<http id="b" port="80"/>
<srun id="b" host="host-b" port="6802"/>
<host id="">
<web-app id="">
<session-config>
<tcp-store/>
<always-load-session/>
</session-config>
</web-app>
</host>
</http-server>
这个例子表示session是按照tcp ring的方式传递。
temp-dir 的设置
temp-dir指的是应用的临时目录。也就是在javax.servlet.context.tempdir中用到的目
录。模认是应用目录
下的WEB-INFtmp目录。
以上的设置都可以在<web-app>标签对中设置,控制某个web应用的设置。
2、打包成War发布
以下是介绍对如何在resin下使用已经打包成War的java Web应用进行发布。
其实这个是最简单也是最清晰的良好方法。在j2ee中,所有的项目都打包成ear发布。其
中,Web应用打包成
war,ejb应用打包成jar。在resin中,这些都可以直接部署。这里我只对打包成war的We
b应用的部署做介绍。
在resin.conf中,查找这个:<war-dir id="webapps"/>。他表示war文件应该被拷贝的

 


路径。这里指的是相对
于resin的安装路径,如以上的设置表示d:resinwebapps。只要重新启动Resin就可以
了。Resin会把该war自
动解包到webapps目录下。你可以在command控制台或者stdout.log中看到类似于
[2002-04-27 09:56:21.680] initializing application
http://haitaiserver:8080/rwtest的语句。这个
表示该Web应用是自动安装的。只要这个应用是符合j2ee标准的Web应用,应该不会有问
题。通过如上显示的路
径就可以访问到这个应用。如果你到d:resinwebappsrwtest中浏览,你会看到Resin
已经为你生成了rwtest
目录,下面是META-INF和WEB-INF还有你自己的JSPservlet 文件和目录。是完全符合j2
ee的结构的。你可以
在rwtest目录下建立新的jspservlet,一样可以被编译和解析并运行的。在实际操作中
,可以使用Jbuilder
或者 WebSphere等Ide工具进行集成调试和打包,非常的方便。
四、使用Resin进行java Web项目的开发和调试
这里篇幅有限,不可能讲太多,我只对实际中最有用的部分做介绍。
Resin中如果定义了错误页,则出错后最常见的一大串Exception不会被看到,直接跳转
到错误页。所以建议开
发中先不设置错误页。jsp错误中最常见的就是Nullpoint Exception,其次是名称的拼
写错误。错误也可以在
Resin安装目录下的log目录下的stderr.log中找到。通过对该log文件的分析可以看到很
多有用的错误信息。
在调试jsp的时候,如果定义了compile为true,jsp先被翻译成Servlet的java文件,再
被编译成class文件。
可以在你自己的work目录中找到该文件。java的名称在Resin中是这样子定义的:原先的
jsp文件名前加下划线
,再加上_jsp这个字样。所以在java 应用中的命名不要以_jsp结尾,也不要出现中文名
称等字符;其实名称
以_jsp为开头也是不合法的。
关于java对多国语言的支持问题,在Resin中得到了很好的解决。以jsp为例,参考Resin
自动生成的java
Servlet文件。只要在任何的jsp文件的最开始处增加:
<% @page contentType="text/html;charset=gb2312" %>
中文问题就解决了。察看生成的Servlet源文件片断:
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("GB2312");
以上为设置字符集
private static byte[] _jsp_string26;
private static byte[] _jsp_string27;
_jsp_string26 = "rn</table>rn<table class="type">rn<tr>rn
<td>".getBytes("GB2312");
_jsp_string27 =
"rn</td><td>rn</tr>rn<!--rn<tr>rn<td>r".getBytes("GB2312");
以上是对页面的显示的编码。其中,getBytes("gb2312")是静态编码,这是Resin为了解
决某些环境下还是不
能正常显示而设置的。在Resin的配置文件(/conf/resin.conf)中,可以通过设置<jsp
precompile="true"
static-encoding="false" recompile-on-error="true"/>中的static-encoding属性为t
rue或者false,来控
制是否静态编码。其实在Resin容器的内部,所有的字符都是按照iso-8859-1来处理的。
iso-8859-1是一个大
字符集,虽然中文的gb2312和8859在字的定义上有不同,但是编码是包容了gb2312的。
按照解决多国语言的方
法,在纯英文平台上用iso-8859-1处理内部编码,而把字符的显示推向客户端的机器。
所以这样只要编码是正
确的,在页面上显示中文就不存在问题。Tomcat3.2不方便的地方是Tomcat对数据库的操
作中文支持不好,需
要手动在java Bean或者Servlet中硬编码。通过测试,在Resin中完全没有这个问题。To
mcat4.0解决了这个问
题。不过个人习惯来讲还是觉得resin在配置方面方便一些。

 


在Resin中可以自动解决引入的jar。这个在使用特殊的类或者第三方提供的开发包非常
有用。方法非常简单:
只要把该jar或者是zip拷贝到Resin安装目录下的lib目录下面,重新启动Resin,就可以
了。如db2用到的
db2java.zip文件,只要轻松拷贝到d:resinlib中就可以了。
Resin提供了对Jbuilder的集成调试。可以到:
http://www.caucho.com/projects/jbuilder/resin-jbuilder.jar免费下载到resin的jb
uilder的ide扩展包。
然后,把该包该名成:resin-jbuilder.jar,拷贝到jbuilder6libext目录下。然后,
把Resin2.1解包安装
在jbuilder6resin-2.1目录下,就可以了。打开任何的War项目,在project上点右键,
选择properties,选
择Servers标签。在原来的选择框上,就可以看到多了一项Resin2.1。这样子就可以象原
来用tomcat一样调试
jspservlet了,而且比Tomcat更方便。调试方法和用Tomcat调试一样。
五、其他问题
使用Resin可以和apache结合使用。也就是利用apache做http服务器,而Resin做srun服
务器。可以参考
resinconfsamples目录下的apache.conf。主要就是把 app-dir 设成


/usr/local/apache/htdocs(也就是
apache的root)。同时在apache 中的http.conf也做了相应的设置。Resin还提供了对该
过程的自动安装程式
,运行resinbinsetup,你可以在弹处的对话框中选择apache,这样子就可以了。只要
你曾经安装过apache
,resin可以自己找到httpd.conf文件所在的路径。
使用命令行方式启动Resin,如果改动了Resin.conf,Resin会自己重新启动适应新的配
置。这个很适合初期安
装时使用。
Resin对数据库缓冲池的支持很好。在这里,它提供了DBPool对缓冲池做了封装。实际使
用时,只要在
resin.conf这样配置:
<dbpool.sql>
  <id>ORCL</id>
  <driver>oracle.jdbc.driver.OracleDriver</driver>
  <url>jdbc:oracle:thin:@localhost:1521:SMTH</url>
  <!-- <url>jdbc:oracle:oci8:@SMTH</url> -->
  <user>scott</user>
  <password>tiger</password>
  <max-connections>5</max-connections>
</dbpool.sql>
然后,在你的jsp或者servlet中就可以这样子使用了:
先导入 com.caucho.sql.*包,然后如下直接得到连接:


Connection conn = DBPool.getPool("ORCL").getConnection();
个人建议不要如上使用连接池,还是按照ejb的方法用从Context中直接找到的DataSourc
e对象中得到连接通用
性比较好。代码也很简单:
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB”);
Connection conn = ds.getConnection();
在Resin中如下配置jdbc就可以了:
<resource-ref>
<res-ref-name>jdbc/EmployeeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.caucho.jdbc.mysql.Driver"/>
<init-param url="jdbc:mysql_caucho://localhost:3306/test"/>
<init-param user="name"/>
<init-param password="password"/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>
用Resin Web Server开发还是比较愉快的。只是没有像Weblogic 或者WebSphere那样子
提供现成的管理控制台而已。但是从稳定性和方便性来讲,Resin个人认为比Tomcat要好
很多。况且Resin还有提供了resin-cmp 和 resin-ejb,功能更强大。

http://www.hengruixuexiao.com/news/38651.html

相关文章:

  • 宁波城乡建设委员会的网站特大新闻凌晨刚刚发生
  • 奢侈品b2c电商网站建设百度新闻首页头条
  • 专做女裤有哪些网站网络推广法
  • 单页网站制作教程网站seo外链建设
  • 南宁北京网站建设2023年东莞疫情最新消息
  • 为什么建手机网站百度关键词优化有效果吗
  • 门户网站建设意义网络营销的主要特点有哪些
  • dede做的网站打不开长沙seo排名优化公司
  • 罗湖网站建设优化沈阳网站制作
  • 新网站优化怎么做好的营销网站设计公司
  • 腾讯云服务器怎么做网站竞价推广返点开户
  • 做网站市场价格新手怎么做seo优化
  • 注册公司网上申请入口网站朔州网站seo
  • 网站积分的作用荥阳seo
  • 湖南建设c证查询网站宁波网站制作与推广价格
  • 广州电商网站建设百度做网站推广的费用
  • 网上做的比较好的竞彩网站我想在百度上发布广告怎么发
  • 南昌做网站宁波江北区网站推广联系方式
  • 音平商城谁做的网站seo公司 彼亿营销
  • 怎么建立网站 个人热点广告联盟接单赚钱平台
  • 访问自己做的网站舆情服务公司
  • 南昌做微信网站seo教程技术
  • 购物商城图片网站seo站外优化
  • 网站如何做关键词引流网络营销软件下载
  • 网站建设过程中应该注意的事项有怎么做市场营销和推广
  • 商城网站建设需要多少提高seo关键词排名
  • 织梦网站档目管理空白网络营销怎么推广
  • 东莞企业网站教程南京今日新闻头条
  • 做网站公示百度保障平台 客服
  • 卖掉的网站了对方用来做违法google谷歌搜索主页