- 浏览: 487357 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
Source_野驴:
...
jsp静态化和伪静态化 -
zidanzzg:
很好的知识,找到了利用异或交换数值的理论支持,谢谢分享
XOR的性质和运算 -
ueseu:
引用(2) DomainDomain域名也是Cookie的一部 ...
Cookie的组成 -
ueseu:
引用Secure取true或者false值。如果为true,那 ...
Cookie的组成 -
liqi___123:
理解得很透彻,谢谢!!
ROLAP、MOLAP和HOLAP联机分析处理区别
web.xm和taglib
作servlet映射是个讨厌的工作,当你接收别的项目的时候,这个项目的servlet怎么用可能比较麻烦,可能当时web.xml的映射找不到了,这时怎么办呢?
看这个文件
package com.xdocletbook.blog.servlet;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
/**
* @web.servlet
* name="HomePage"
* @web.servlet-init-param
* name="LogLevel"
* value="{LOG_LEVEL}"
* @web.servlet-mapping
* url-pattern="/home"
*
* @web.security-role
*role-name="{OwnerRole}"
* @web.security-role-ref
*role-name="blogowner"
*role-link="{OwnerRole}"
*/
public class HomePageServlet
extends HttpServlet {
private static Logger LOGGER = Logger.getLogger(HomePageServlet.class);
public void init() throws ServletException {
String logLevel = getInitParameter("LogLevel");
if (logLevel != null && logLevel.length() > 0) {
LOGGER.setLevel(Level.toLevel(logLevel));
}
}
public void service(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
LOGGER.debug("Displaying home page");
request.getRequestDispatcher("jsp/home.jsp").forward(request, response);
}
}
然后配置build.xml增加如下任务
<target name="generate-web">
<taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask" classpathref="xdoclet.classpath"/>
<!-- Generate servlet and JSP Tag "stuff" -->
<webdoclet destdir="gen" mergeDir="merge">
<fileset dir="src">
<include name="**/*.java" />
</fileset>
<deploymentdescriptor destdir="web" distributable="false" />
</webdoclet>
</target>
然后运行ant generate-web
结果就是这样一个web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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 >
<!--
To use non XDoclet filters, create a filters.xml file that
contains the additional filters (eg Sitemesh) and place it in your
project's merge dir.Don't include filter-mappings in this file,
include them in a file called filter-mappings.xml and put that in
the same directory.
-->
<!--
To use non XDoclet filter-mappings, create a filter-mappings.xml file that
contains the additional filter-mappings and place it in your
project's merge dir.
-->
<!--
To use non XDoclet listeners, create a listeners.xml file that
contains the additional listeners and place it in your
project's merge dir.
-->
<servlet>
<servlet-name>StrutsActionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>HomePage</servlet-name>
<servlet-class>com.xdocletbook.blog.servlet.HomePageServlet</servlet-class>
<init-param>
<param-name>LogLevel</param-name>
<param-value>1</param-value>
</init-param>
<security-role-ref>
<role-name>blogowner</role-name>
<role-link>aOwner</role-link>
</security-role-ref>
</servlet>
<servlet-mapping>
<servlet-name>StrutsActionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HomePage</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
<!--
To specify mime mappings, create a file named mime-mappings.xml, put it in your project's mergedir.
Organize mime-mappings.xml following this DTD slice:
<!ELEMENT mime-mapping (extension, mime-type)>
-->
<!--
To specify error pages, create a file named error-pages.xml, put it in your project's mergedir.
Organize error-pages.xml following this DTD slice:
<!ELEMENT error-page ((error-code | exception-type), location)>
-->
<!--
To add taglibs by xml, create a file called taglibs.xml and place it
in your merge dir.
-->
<!--
To set up security settings for your web app, create a file named web-security.xml, put it in your project's mergedir.
Organize web-security.xml following this DTD slice:
<!ELEMENT security-constraint (display-name?, web-resource-collection+, auth-constraint?, user-data-constraint?)>
<!ELEMENT web-resource-collection (web-resource-name, description?, url-pattern*, http-method*)>
<!ELEMENT web-resource-name (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT http-method (#PCDATA)>
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
<!ELEMENT transport-guarantee (#PCDATA)>
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
<!ELEMENT auth-method (#PCDATA)>
<!ELEMENT realm-name (#PCDATA)>
<!ELEMENT form-login-config (form-login-page, form-error-page)>
<!ELEMENT form-login-page (#PCDATA)>
<!ELEMENT form-error-page (#PCDATA)>
-->
<security-role>
<role-name>aOwner</role-name>
</security-role>
</web-app>
发表评论
-
消息中间件和JMS
2013-06-03 10:21 816当前,CORBA、DCOM、RMI等 ... -
失血模型-贫血模型-充血模型-胀血模型
2012-07-20 13:21 2118一、失血模型 失血模型简单来说,就是domain ob ... -
JSP中文验证码
2012-05-14 17:18 1249以上两篇文章的内容介绍了有关JSP中产生数字验证码跟中文验证 ... -
Javamail中的常见中文乱码问题与解决办法
2011-09-09 09:48 1691在使用javamail api开发邮件服务系统时,我们常常会碰 ... -
ZK框架简介
2011-07-21 08:08 13731、ZK框架简介 ZK框架是 ... -
Tiles使用简介
2011-06-23 14:32 1264最新喜欢看一看一些比较“老旧”的技术,感觉这些 ... -
Apache Commons DbUtils快速上手
2011-06-18 10:58 1377最近喜欢看一些技术比较“老旧”的东西,虽然所实现的技术老 ... -
JSF生命周期监听
2011-03-11 18:10 1268这里有一点代码, 一个 PhaseListener ... -
自定义jsp标记库简介
2011-03-11 18:08 8161. 基本步骤 实例-输出“hello,eking” 1) ... -
oschina非常重要的类—RequestContext
2011-03-10 11:22 1447RequestContext 这个类在 OSChina 中是非 ... -
组合Servlet+Freemarker的两种方法
2011-03-06 12:52 1512Servlet的轻巧高效,Freemarker的强大简便 ... -
Apache开源项目分类列表
2011-01-12 15:45 1072分类 项目名 说明 开发 ... -
myeclipse快捷键
2010-11-26 09:45 776MyEclipse 快捷键[转载] ... -
MyEclipse Content Assist
2010-11-26 09:39 1054问题描述: 在使用MyEclipse 6中不能使用 al ... -
删除eclipse的configuration目录
2010-07-07 10:27 3141eclipse 3.4以前的版本,如果出现什么问题了, ... -
JasperReports和iReport制作报表
2010-06-25 13:40 1372最近使用了JasperReports ... -
Lucene版Hello world
2010-06-04 18:38 19631、首先从lucene官网上下载lucene2.4.0(也可以 ... -
用p6spy查看HIBERNATE生成的SQL
2010-06-02 15:52 2187P6Spy是一个可以用来在应用程序中拦截和修改数据操作 ... -
hibernate id Generator详解
2010-06-02 15:16 1339Hibernate中,<id>标签 ...
相关推荐
2. **Web应用的配置文件生成**:在Servlet或JSP页面上添加注释,xdoclet可以生成web.xml,甚至包括struts-config.xml等Web应用所需的配置文件。 3. **Hibernate实体类与映射文件**:对于使用Hibernate的对象/关系...
WebLogic Server 9.2 是Oracle公司的一款企业级Java应用服务器,它提供了完整的Java EE(J2EE)平台支持,包括Servlet、JSP、EJB等技术,用于开发、部署和管理分布式Web应用程序。在本例中,Weblogic92作为服务端...
- BES 提供了一些私有的 XDoclet 标签,用于定制 EJB 的配置。 - 例如 `<bes.ejb-local-home>` 用于指定本地 Home 接口的实现类。 **1.3.8 XDoclet 运行方式** - 通过命令行运行:`xdoclet -destdir . -srcdir src...
在Web开发中,FreeMarker扮演着模板语言的角色,与后端数据源(如Java的Spring MVC或Servlet)相结合,生成动态内容。它将业务逻辑和视图呈现分离,遵循了Model-View-Controller(MVC)设计模式。开发者可以编写...
3. **metadata**:存储SQL脚本、服务器配置以及XDoclet片段,用于数据库操作和元数据管理。 4. **src**:Java源代码存放于此,按照包结构组织。 5. **test**:包括JUnit、Cactus和StrutsTestCase测试用例,确保代码...
- **Servlet 介绍**:Servlet 是 Java EE 核心组件之一,用于处理客户端请求并返回响应。 - **生成步骤**: 1. 在项目中创建一个新的 Servlet 类。 2. 生成相关的 Web.xml 文件,定义 Servlet 的映射规则。 3. ...
**Struts** 是一个基于Java Servlet API的MVC(Model-View-Controller)架构模式的应用框架,用于帮助开发人员创建表现层。它通过将业务逻辑与表示层分离来提高可维护性。在本视频教程中,主要介绍了Struts 2版本,...
了解ANT工具用于自动化构建,JDO(Java Data Objects)用于对象关系映射,以及DAO(Data Access Object)模式用于封装数据库访问逻辑。 第四阶段,进一步深入MVC(Model-View-Controller)架构。学习Struts框架,...
每个 Portlet 的持久性数据都有单独的 ejb.xml 文件,通过 Ant 构建工具中的 build-ejb 命令生成,XDoclet 用于自动代码生成。 - **安全机制**:Liferay 采用 JAAS(Java Authentication and Authorization Service...
- **代码和文档生成器**:xdoclet,用于自动化生成代码和文档。 - **版本控制系统**:Subversion,支持团队协作和代码版本管理。 - **构建工具**:Ant,用于项目构建自动化。 **数据库服务器支持:** RunaWFE支持...
Ant是一个用于自动化构建过程的工具,而XDoclet则用于生成代码注释和文档。数据源(DataSources)的配置也是开发过程中不可忽视的一环,它直接影响数据库访问的效率和安全性。 ### 类加载机制 文档还简要提及了...
Tomcat 是一个广泛使用的轻量级Java EE应用服务器,用于运行Servlet和JSP应用。这意味着ONess 可能在Tomcat环境中运行,提供Web服务。 通过这些组件的集成,ONess 创建了一个全面的开发环境,开发者可以利用这些...
Jelly 借鉴了 JSP 定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly 可以用在命令行, Ant 或者 Servlet之中。 Jexl Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的...
Servlet是Java Web应用的基础组成部分,用于处理HTTP请求并生成响应;JSP(Java Server Pages)则是服务器端的脚本环境,可以生成动态HTML页面;JSTL(JavaServer Pages Standard Tag Library)则提供了一系列标准...
- **XDoclet示例**:演示了如何使用XDoclet注释来生成映射文件。 - **O/RMapping基础**: - **映射声明(Mappingdeclaration)**:描述了如何定义对象与数据库表之间的映射关系。 - **Hibernate的类型**:列举了...
例如,Ant用于自动化构建过程,Junit用于单元测试,而Cactus则提供了一种测试框架,用于测试Java Servlet和JSP。 #### 极限编程工具箱 书中提到了一个开放源码工具箱,涵盖了从代码管理到测试,再到部署的各个环节...
XDoclet的主要功能是通过解析Javadoc注释来生成各种类型的代码和文档,包括但不限于Java源代码、XML配置文件、HTML文档、PDF文档等。这对于简化开发过程、提高代码质量和减少重复劳动具有重要意义。 2.4 OpenTool...
- **1.4.1 编写基本的servlet**:开发一个简单的Servlet,用于处理HTTP请求和响应。 - **1.4.2 处理与渲染**:介绍如何在Servlet中使用Hibernate进行数据处理,并渲染至前端页面。 - **1.4.3 部署与测试**:讲解如何...
2. **JEE(Java Enterprise Edition)知识**:学习Servlet、JSP、JNDI、JMS、JTA等,了解如何在企业环境中构建分布式应用程序。 3. **数据库知识**:掌握SQL语言,理解关系型数据库的基本原理,熟悉Oracle、SQL ...