- 浏览: 127449 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
ZhaojieSmall:
www.baidu.com
Drools 5 模板技术应用(drools template) -
ZhaojieSmall:
...
Spring注解jar包中的类的问题 -
zoutuo:
其实不需要注销重启,执行 source /etc/profil ...
MAVEN_HOME的设置 -
duyangsss:
有可能是网络问题吗?你是否能通过IE在code.google上 ...
SVN之无法连接到服务器 -
localtest:
我在访问Googl SVN的时候也出现你这种情况,前天晚上还好 ...
SVN之无法连接到服务器
公司有一个B/S的项目,其中视图层是使用JSP+JAVASCRIPT的方式。控制层是使用的spring的MVC基于REST的规范来实现的,根据前台JS发出的POST请求URL及正文信息,找到相关的模域层的业务处理方法。模域层的实现是基于EJB3+JPA来实现的。控制层通过JNDI找到相关EJB服务进行调用来完成业务逻辑的处理。
整个项目的工程是一个EAR包,其中包含一个WAR包和EJB的JAR包:
- 视图层的JSP+AJAX和控制层都在WAR包中
- 领域模型层都在EJB的JAR包中。
由于该项目一直都是在jboss上做的开发,现在项目要上线,需要将工程迁移到WEBSPHERE环境下。在迁移过程中遇到一个关于环境的问题,这个问题主要是关于控制层的。
由于前台的所有请求是基于REST的如系统登录,前台将会发出一个http://ip:port/project/login的POST请求,并在请求正文中传入登录所需要的数据信息。而前台请求的静态资源也是根据URL来获取,如:http://ip:port/project/login.css,http://ip:port/project/login.jpg 等。
所以我们需要在工程的web.xml文件中定义两个不同的servlet来处理,web.xml文件的具体内容如下:
<servlet> <servlet-name>auth</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>auth</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.data</url-pattern> </servlet-mapping>
其中有一个org.springframework.web.servlet.DispatcherServlet,它会拦截前台的请求,通过HTTP请求中的URL路径及方法来判断是不是调用后台的业务逻辑处理。
还有一个就是jboss的获取servlet。具体的servlet的类名是什么,开发人员不需要关心,只需要在web.xml文件中直接使用就可以通过它来处理静态资源。网上的资源中的说法是:
Tomcat, Jetty, JBoss, and GlassFish 自带的默认Servlet的名字 -- "default"
Google App Engine 自带的 默认Servlet的名字 -- "_ah_default"
Resin 自带的 默认Servlet的名字 -- "resin-file"
WebLogic 自带的 默认Servlet的名字 -- "FileServlet"
WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
所以,我在发布到websphere的工程中将名称改为:SimpleFileServlet,
<servlet-mapping> <servlet-name>SimpleFileServlet</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SimpleFileServlet</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SimpleFileServlet</servlet-name> <url-pattern>*.data</url-pattern> </servlet-mapping> .......
但后台抛出异常,大概意思就是说服务在发布的时间,在加载servlet的时候报空指针异常。后面能过资料查找和测试,正解如下:
<servlet> <servlet-name>default</servlet-name> <servlet-class>com.ibm.ws.webcontainer.servlet.SimpleFileServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.data</url-pattern> </servlet-mapping> <servlet id="auth"> <servlet-name>auth</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping id="auth-mapping"> <servlet-name>auth</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
让was的静态处理的servlet后加载,spring的servlet先加载。并且将was的静态处理的servlet放在spring的servlet的前面。保证所有的请求先由was的servlet先处理。
发表评论
-
https://www.aiplan365.com
2019-10-23 11:40 0https://www.aiplan365.com -
Mysqlbinlog使用
2014-07-04 01:10 10591、binlog 基本认识 MySQL ... -
MYSQL ERROR CODE 翻译
2014-06-18 14:56 877mysql error code(备忘) 转10 ... -
[转载]BOS反编译工具安装
2014-02-27 16:14 740原地址:http://blog.csdn.net/zt_199 ... -
Jboss相关配置
2014-02-14 11:23 660由于公司一直使用的是JBOSS-5.4版本,所以相关配置的修改 ... -
从Maven仓库中导出jar包
2014-01-29 11:35 944从Maven仓库中导出jar包:进入工程pom.xml 所在的 ... -
Guvnor源码解析-专业术语说明
2014-01-29 10:22 918Category类别,对知识库或资产进行分类,方便查询Moud ... -
Guvnor源码解析-Jackrabbit自定义结点类型
2014-01-29 00:38 1048在Guvnor的guvnor-repository的src/m ... -
spring工程JBoss移植的hibernate异常
2012-09-18 14:11 2645之前在tomcat7中开发了一个spring的web工程,其中 ... -
在EJB中执行CREATE SEQUENCE
2012-08-31 13:04 2062一个业务需求,需要在EJB服务中执行DDL语句创建序列号: ... -
JavaEE6规范
2012-07-04 13:14 918Java EE 6 Standards Java ... -
Office文档转pdf
2012-03-28 21:54 1403由于某个项目的原因,需要将微软的文档,如:xls,doc,do ... -
SVN之无法连接到服务器
2012-01-30 23:25 8215当我在VPS中安装了一个SVN的服务器,并且将svn与ap ... -
Spring注解jar包中的类的问题
2011-12-08 19:06 5512在每一个SSH项目中,都会为持久层操作封装一套持久化操作接口, ... -
关于spring中配置hibernate申明事务无效的问题
2011-12-08 17:05 2529在spring配置hibernate的申明事务的时候,发现事务 ... -
Eclipse常用插件安装指南
2011-11-18 23:12 888插件名称下载地址说明Properties Editorhttp ... -
使用数据库字典
2011-07-28 09:46 910简单数据库字典使用 SELECT T.table_name ... -
jboss调优之:增加线程数
2011-05-26 08:50 1567Increasing the thread pool size ... -
Cron表达式详解
2011-05-20 19:47 2445Cron 表达式格式 Quartz的cron表达式与 ... -
Oracle 创建 schema
2011-05-07 10:03 1130开始不是很明白,最近才搞清楚。schema就是一些数 ...
相关推荐
- **资源绑定**:如数据源、JMS队列等需要在WebSphere中正确配置并绑定到Web应用。 - **安全性**:设置用户角色和权限,实现Web应用的安全访问。 - **日志和跟踪**:启用日志和跟踪可以帮助诊断应用运行时的问题。 -...
其中,gzip压缩技术就是一种常见的优化手段,它能显著地减小HTML、JavaScript、CSS等静态资源的大小,从而提高页面加载速度,提升用户体验。本文将详细介绍如何在J2EE环境中实现gzip压缩,并探讨其原理与最佳实践。 ...
此外,Tomcat还可以与其他缓存系统集成,如Ehcache,以存储静态资源,减少服务器负载。 在日志和监控方面,Tomcat提供了一套详细的日志记录机制,可以帮助开发者诊断和解决问题。它还支持JMX(Java Management ...
一个典型的Web应用目录结构包括静态资源(HTML、CSS、JS、JSP)、WEB-INF(包含classes目录——运行时的class文件,lib目录——依赖的JAR包,以及web.xml——整个Web应用的配置文件)。web.xml文件是Web应用的核心...
WAR用于Web应用程序,包含Servlet、JSP和静态资源;EAR用于整个企业应用,可以包含多个WAR、EJB JAR和其他资源。 2. **服务器配置**:选择合适的J2EE应用服务器,如Tomcat、Jetty、WebLogic或WebSphere,然后在...
URL重写技术在现代Web开发中扮演着重要角色,因为它能将复杂的动态URL转化为简洁、静态化的形式,从而提高用户体验和搜索引擎对网站内容的抓取效率。 这个版本(RC1)是Release Candidate 1,意味着它是正式版发布...
8. **性能优化**:包括调整线程池大小、设置JVM堆大小、开启连接器的压缩功能、缓存静态资源等,都是提高Tomcat性能的有效手段。 9. **管理工具**:Tomcat内建了一个Web管理界面,位于`webapps/manager`和`webapps/...
- **性能优化**:调整线程池大小,启用连接器的NIO模式,开启GZIP压缩,缓存静态资源等。 ## 7. 故障排查与日志 Tomcat的日志文件位于`CATALINA_HOME/logs`目录下,包括catalina.out、host-manager、manager等。...
- **资源管理**:RichFaces允许你管理和优化CSS、JavaScript以及其他静态资源的加载,以提高页面性能。 - **国际化和本地化**:RichFaces支持多语言应用,可以通过配置faces-config.xml来指定语言资源。 **5. ...
用户可以获取免费的插件、教程和示例,同时,社区中的问题解答和经验分享也是学习BIRT的重要资源。 尽管BIRT在某些方面可能不如商业报表工具完善,但其开源特性、强大的功能和广泛的社区支持,使其成为许多企业和...
5. **配置文件**:项目中可能有web.xml文件,这是Web应用的部署描述符,用于配置Servlet、过滤器、监听器以及其他组件。此外,还有可能包含其他配置文件,如application.properties或context.xml,用于配置应用的...
- **1.4.1 J2EE应用服务器**:J2EE应用服务器是运行J2EE应用程序的平台,常见的有Apache Tomcat、IBM WebSphere、Oracle WebLogic等。 - **1.4.2 J2EE开发环境搭建**:一般包括安装Java JDK、配置J2EE应用服务器以及...
3. **中间件优化**:对WebLogic/WebSphere等中间件进行优化和负载均衡,根据系统资源分配负载,并实现高级监控和连接优化。 4. **数据库优化**:优化后端数据库以处理大量并发请求。 5. **存储网络优化**:利用SAN和...
- **5.4.2 包含指令include**:静态包含其他JSP页面或资源。 - **5.4.3 taglib指令**:声明自定义标签库。 ##### 5.5 JSP脚本元素 - `<% %>`:执行Java代码。 - `! %>`:声明变量或方法。 - `<%= %>`:输出表达式的...
- 定义了Web应用程序的初始化参数、过滤器、监听器等。 - 支持基于角色的安全认证配置。 - 可以配置基于表单的身份验证。 - **MVC设计模式**: - **Model**: 负责处理应用程序的数据和逻辑。 - **View**: 显示...