- 浏览: 414025 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
yan789654100:
先谢谢了,去研究一下
Java网络围棋游戏源码含大厅,仿QQ游戏 -
dan0773:
火狐里面用不了
梅花雨日历控件源码,及应用实例 -
左手边:
挺好的不错
Velocity教程 -
liuxuejin:
既然是教程,连个例子都没有!顶多是个笔记而已
Velocity教程 -
sky_pearl:
泪奔……求大厅代码!!!
Java网络围棋游戏源码含大厅,仿QQ游戏
javawebparts的口号是:不用重新发明轮子 !
对这点我是严重支持啊,在我的身边看到N多所谓的牛人来到项目组作的第一件事就是把以前的项目推倒,重新实现自己的所谓一套先进的东西,靠,你有多先进啊,你的自己"方言"一边自我欣赏,一边还让别人接受,再来一个人又把这个推倒,循环。。。。无语.
所以,用开源吧 ,是不是绕的太远了? :) 让我们言归正传吧.
一。管理你的web配置文件信息
web的配置文件是我们经常要用到的,配置信息我们可以分为两大类,一类是最简单的"平板"型的,比如:
For an XML config file like this:
< firstName > Frank firstName >
config >
The following bean could be used:
private static String firstName;
public void setFirstName(String inFirstName) {
firstName = inFirstName;
}
public String getFirstName() {
return firstName;
}
}
你所要做的工作就是在web.xml中引用一个listener,配置如下:
<param-name>configFileparam-name>
<param-value>/WEB-INF/app_config.xml< /param-value>context-param>
<context-param>
<param-name>rootElementparam-name>
<param-value>configparam-value> context-param>
<context-param>
<param-name>configClassparam-name>
<param-value>javawebparts.sampleapp. SampleAppConfigBeanparam-value>
context-param>
<context-param>
<param-name>AjaxPartsTaglibConfigparam-name>
<param-value>/WEB-INF/ajax_config.xmlparam-value>
context-param>
<listener>
<listener-class>javawebparts.listener. AppConfigContextListenerlistener-class>
listener>
这种平板型结构的数据这样就已经OK了,还有一种是复杂一点的,有层次结构,比如在Bean中可能还有collection,需要自己实现一下,也不复杂直接调用apache的Digester就可以了(实际上在javawebparts到处都有Digester的影子),需要了解的请参看 用Digester解析xml到bean
二。缓存页面
比如,我想缓存所有的gif图片,但是jpg的不缓存,web.xml中配置如下:
<filter-name>CacheControlFilterfilter-name>
<filter-class>javawebparts.filter. CacheControlFilterfilter-class>
<init-param>
<param-name>pathSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>pathListparam-name>
<param-value>*/header1.gif, *.jpgparam-value>
init-param>
filter>
<filter-mapping>
<filter-name>CacheControlFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
它的后台实现机制很简单,内部部分代码如下:
((HttpServletResponse)response).setHeader("Cache-Control",
"no-cache,no-store,max-age=0");
((HttpServletResponse)response).setDateHeader("Expires", 1);
三。图片压缩
是不是对gzip压缩很亲切? 对的,就是传说中可以压缩图片减少网络传输体积的玩意,现在你只要在web.xml中增加以下内容就可以轻松实现了:
<filter-name>CompressionFilterfilter-name>
<filter-class>javawebparts.filter. CompressionFilterfilter-class>
<init-param>
<param-name>pathSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>pathListparam-name>
<param-value>*/bigimage2.gif param-value>
init-param>
<init-param>
<param-name>compressTypeparam-name>
<param-value>gzip_firstparam-value>
init-param>
filter>
<filter-mapping>
<filter-name>CompressionFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
上面的配置表示只对bigimage2.gif的文件进行压缩,其他不用,pathSpec的属性有两种include,exclude,意思已经很明确了,相反地意思,而pathList得内部实现也是用正则表达式实现的,支持*等用法.这些内部实现你觉得复杂的话就不用管它了,反正人家已经给你实现好了,你只要说"给我压缩'美女与野兽.JPG'"就可以了
四.控制只在设定的时间范围内访问应用
比如说只允许在工作时间内可以访问应用,其他时间禁止访问,虽然不是很普遍不过这种需求还是有的,如果自己实现还是比较麻烦的,我们用现成的,配置如下:(怎么都是配置阿?对,全部是配置就可以了,难道不好吗?太爽了啊,乖乖龙地动)
<filter-name>AppAvailabilityFilterfilter-name>
<filter-class>javawebparts.filter. AppAvailabilityFilterfilter-class>
<init-param>
<param-name>pathSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>pathListparam-name>
<param-value>*/AAFTestTarget.jsp param-value>
init-param>
<init-param>
<param-name>mondayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>tuesdayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>wednesdayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>thursdayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>fridayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>saturdayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>sundayparam-name>
<param-value>0600-2359param-value>
init-param>
<init-param>
<param-name>redirectToparam-name>
<param-value>AAFReject.jsp< /param-value>
init-param>
<init-param>
<param-name>bypassCheckClass< /param-name>
<param-value>javawebparts.sampleapp. AAFBypassCheckparam-value>
init-param>
filter>
<filter-mapping>
<filter-name>AppAvailabilityFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
上面的配置很明确了吧,表示在访问AAFTestTarget.jsp 文件的时候必须在设定的时间内,其他则无限制,很清楚了哦.
五。统一重定向
redirect或者forward大家都再熟悉不过了,不过这个是基于配置的,不用你写代码,比如,你希望在访问某个目录的时候自动重订向到其他文件,或者直接转到其他网站比如google.com,配置如下:
<filter-name>URLRedirectFilterfilter-name>
<filter-class>javawebparts.filter.URLRedirectFilter filter-class>
<init-param>
<param-name>configFileparam-name>
<param-value>/WEB-INF/redirect_config.xml param-value>
filter>
<filter-mapping>
<filter-name>URLRedirectFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
其中redirect_config.xml配置如下:
<redirect from="*/app/redirect_test/*" to="http://www.google.com" />
<forward from="*/app/forward/test.htm" to="/index.jsp" />
config>
很直观吧?凡是访问/app/redirect_test下的所有应用都重订向到google,太简单了,我就不多说了.
六.估算每个请求所花费的时间
这个对性能调整是很有好处的,性能的调整的前提是你了解你的系统的瓶颈在什么地方,更具体的说是你的应用哪些地方花费的资源较多,一个是监控sql的执行情况,这里推荐jdbmonitor,大家可以去看看,另一种就是本文所说的查看每个请求的执行时间,他会告诉你本请求花费了多少秒,很直观了.
配置如下:
<filter-name>ElapsedTimeFilterfilter-name>
<filter-class>javawebparts.filter.ElapsedTimeFilter filter-class>
<init-param>
<param-name>pathSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>pathListparam-name>
<param-value>*param-value>
init-param>
filter>
<filter-mapping>
<filter-name>ElapsedTimeFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
上面的一个include ,一个pathList的*就代表了所有的应用都过滤,反之,你想暂时取消这个功能就直接把include换成exclude就行了
应用在启动后你直接观察后台日志就可以了,就这么就OK了,还要你做什么呢? 没有.
七.监控session的会话
经常碰到这样的一个情况,用户在登陆系统一段时间后session实效,但是他接着点击里面的连接,结果报异常,因为session里已经取不到数据了,常常是空指针错误,在每一个页面里都进行这种低级问题的判断是很烦人的,现在我们有新的方式可以一次性解决所有的问题,还是一段简单的配置:
<filter-name>SessionInactivityFilter< /filter-name>
<filter-class>javawebparts.filter. SessionInactivityFilterfilter-class>
<init-param>
<param-name>forwardToparam-name>
<param-value>/login.jsp< /param-value>
init-param>
filter>
<filter-mapping>
<filter-name>SessionInactivityFilter< /filter-name>
<url-pattern>/*url-pattern>
filter-mapping>
表示会话失效后直接重定向到登陆界面,让用户重新登陆.
八.控制访问应用的IP
出于安全考虑,过滤某些IP能或不能访问,配置如下:
<filter-name>IPAccessControlFilterfilter-name>
<filter-class>javawebparts.filter. IPAccessControlFilterfilter-class>
<init-param>
<param-name>pathSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>pathListparam-name>
<param-value>*/IACTestTarget.jsp param-value>
init-param>
<init-param>
<param-name>addressSpecparam-name>
<param-value>includeparam-value>
init-param>
<init-param>
<param-name>addressListparam-name>
<param-value>localhostparam-value>
init-param>
<init-param>
<param-name>forwardToparam-name>
<param-value>/IACReject.jspparam-value> init-param>
filter>
<filter-mapping>
<filter-name>IPAccessControlFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>
以上的配置效果就是只允许是从服务器上访问应用的来源(太苛刻了吧? :))
九.随机显示文字
比如每日一语,随机广告,很实用的,配置如下:
<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR
发表评论
-
橡子树淘宝导购网正式上线
2011-08-24 13:21 11想要淘便宜就来这里看看更多优惠等着您 http://www. ... -
使用Grub 安装Windows7
2010-11-05 11:37 1448先把Windows7 光盘文件复制到移动硬盘 然后启动输入: ... -
MySql SqlServer Oracle三者的区别?(转)
2010-09-21 09:07 5430对于程序开发人员而言,目前使用最流行的两种后台数据库即为MyS ... -
grldr使用方法简介
2010-04-24 12:21 2528一 引言:grldr是grub里 ... -
使用Windows命令遍历测试未知无线路由器的IP地址
2010-04-23 13:34 2106最近发现附件一个无线网络可以连接上,但是无线路器没有开启 DH ... -
三种方法解决IIS 6目录检查安全漏洞
2009-10-24 14:18 1520一 、 Windows 2003 Enterprise ... -
Windows 定时关机及自动登录设置
2009-10-16 08:55 1221添加定时任务: 如果你想出门,但电脑又正 ... -
牵挂一个人的感觉
2009-10-09 16:27 874深秋的天气, ... -
如何在iis里面添加rmvb的mime类型
2009-09-17 20:54 1631IIS 早期版本包含通配符 MIME 映射,允许 IIS 处理 ... -
ASP.Net网站数据库被挂马后手动清除一例
2009-08-04 19:54 1646网站环境: ASP.Net ... -
2008 新款 精品 服饰 特卖
2008-04-28 09:59 198本店新开张,所有服饰超低价出售 http://shop ... -
清除internet.exe木马病毒 (转贴)
2007-08-14 08:51 1431最近可能是在某个网站下载了QQ程序吧,结果金山毒霸显示x: w ... -
Hibernate 相关书籍
2007-08-13 12:33 13991.Hibernate: A Developer's Note ... -
常用到的注册码
2007-08-01 20:56 1207Allok Video to FLV Converter v4 ... -
windows 播放 flash 没有声音有解决方法
2007-08-01 16:00 5284成功解决播放Flash没有声音 1、播放Flash没有声音, ... -
WINDOWS 2003 下重新安装TCP/IP 协议
2007-07-28 16:01 2754解决方案 要解决此问题,请删除已损坏的注册表项,然后重新安装 ... -
IE中的Flash出现激活框“单击以激活并使用此控件”的解决方法
2007-07-22 23:19 1779IE中的Flash出现激活框“单击以激活并使用此控件”的解决方 ... -
修改 NetBeans 默认编码使用 UTF-8
2007-07-17 21:08 5524英语学的不好,就不详细翻译了,呵呵!简单操作是这样的 1. ... -
flash使用FlashVars接收html参数
2007-07-09 12:09 3020flash使用FlashVars接收html参数 本教程主要介 ... -
readAppfuse-4-Sitemesh使用
2007-05-31 18:57 1498★ 作用:sitemesh应用Decorator模式 ...
相关推荐
【Java Web编程】是Web应用程序开发的一个重要领域,主要涉及使用Java语言来创建动态、交互式的网站服务。在这个过程中,开发者通常会利用一系列的技术和框架,如Servlet、JSP(JavaServer Pages)、JSTL(Java...
1. 描述启动Tomcat服务器时初始化Web应用程序的过程。 2、Tomcat服务器启动后访问,说明调用顺序和流程。 7.解释为什么ListController和ShowController在多线程的情况下会出现问题。
1. **Java Web开发**:Java Web开发是使用Java技术构建Web应用程序的过程,包括Servlet(服务器端脚本)、JSP(Java Server Pages)以及相关框架如Spring MVC。 2. **Servlet**:Servlet是Java中的一个接口,用于...
【标题】"javaWebProject:jwp"是一个Java Web项目的实例,它可能包含了开发一个完整的Web应用程序所需的各种组件和配置。这个项目的核心是使用Java语言,遵循Java Web编程规范,来构建动态、交互式的Web应用。 ...
Web应用服务器如何进行确定Web应用程序服务器要求。 在完成需求的实现之后,通过“拉取请求”(以下称为PR)请求代码复查到与您的github ID对应的分支。 努力改善代码审查反馈并再次推送。 完成所有反馈后,请执行下...
2、详细描述服务器启动时父ApplicationContext和子ApplicationContext是如何初始化的。 3.启动服务器后访问并尽可能详细地解释流程,直到显示问题列表。 9、UserService和QnaService中,多线程中哪个source容易出...
JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言...
### 汇编语言指令大全 #### 知识点概览 本文档旨在为开发人员及学习者提供全面且详尽的汇编语言指令参考。汇编语言是一种低级编程语言,它与特定类型的计算机硬件架构紧密相关。通过直接与硬件交互,汇编语言能够...
【压缩包子文件的文件名称列表】"jwp"可能代表"JSP Web Project"的缩写,这通常包含项目的源代码、配置文件、数据库脚本、静态资源(如图片和CSS文件)以及可能的部署脚本。这些文件一起构成完整的Web应用程序,用户...
Tomcat 中配置一个Web应用 1 conf/server.xml 在<host></host>标记中间增加: “/runwit” docBase=“rwjsp”/> 其中/runwit为自定义的web应用名称,rwjsp为目录:webapps/rwjsp 2 创建目录,编写测试文件test.jsp ...
JWP 是一个面向耶和华见证人出版物读者的计划。 通过使用该程序,您将始终可以访问最新一期的《守望台》和《觉醒》杂志。 您将能够下载不同语言和不同格式(PDF、EPUB、MOBI、MP3、AAC)的出版物。 还可以从网站...
Appium XCUITest Driver 是一个组合解决方案,它允许对 iOS 和 tvOS 原生应用程序和 WebKit Web 视图执行自动黑盒测试。...Web 视图通信仅支持过时的JWP 协议。 更多详情、使用方法,请下载后细读README.md文件
2. 描述启动Tomcat服务器时初始化web应用程序的过程。 3、Tomcat服务器启动后,说明访问时的调用顺序和流程。 10.解释为什么ListController和ShowController在多线程的情况下会出现问题。
1、为什么next.dao.DBInitializer初始化数据库失败?2、详细描述服务器启动时父ApplicationContext和子ApplicationContext是如何初始化的。3.启动服务器后访问并尽可能详细地解释流程,直到显示问题列表。...
애플리케이션 방법 。리케이션요구사항을다。 Request자신의브랜치에Request Request Request Request Request Request Request Request Request Request Request。。。。。...우아한테크코스코드리뷰
jabdp全名是JAVA敏捷业务开发平台(Java Agile Business Development Platform),是一款引擎模式的web快速开发平台,采用新颖的在线开发部署模式,配置式,低代码,使开发变得更加简单、纯粹,提高了开发的效率。...
pdf转JPG软件无水印官方破解版,支持像素选择等
JSON Work Proof(JWP)是一种基于JSON编码的工作量证明算法,类似于JSON Web Token(JWT),但它的设计目标是用于验证某个任务或计算已经完成了一定的工作量。在分布式系统、区块链技术或者网络安全领域,工作量...
全名是JAVA敏捷业务开发平台(Java Agile Business Development Platform),是一款引擎模式的web快速开发平台,采用新颖的在线开发部署模式,配置式,低代码,使开发变得更加简单、纯粹,提高了开发的效率。...
10. **多语言支持**:Appium 提供了多种编程语言的客户端库,包括Java、Python、Ruby、JavaScript等,这些客户端库的源码也值得研究,了解如何与Appium Server进行通信。 通过深入研究Appium的源码,我们可以学习到...