`
wezly
  • 浏览: 487357 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Xdoclet用于servlet

阅读更多

web.xmtaglib

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>

  

 

 

 

分享到:
评论

相关推荐

    xdoclet应用

    2. **Web应用的配置文件生成**:在Servlet或JSP页面上添加注释,xdoclet可以生成web.xml,甚至包括struts-config.xml等Web应用所需的配置文件。 3. **Hibernate实体类与映射文件**:对于使用Hibernate的对象/关系...

    Weblogic92+CXF+XDoclet+Spring轻松搞定webservice 例子

    WebLogic Server 9.2 是Oracle公司的一款企业级Java应用服务器,它提供了完整的Java EE(J2EE)平台支持,包括Servlet、JSP、EJB等技术,用于开发、部署和管理分布式Web应用程序。在本例中,Weblogic92作为服务端...

    BES 8.0 Development Guide

    - BES 提供了一些私有的 XDoclet 标签,用于定制 EJB 的配置。 - 例如 `&lt;bes.ejb-local-home&gt;` 用于指定本地 Home 接口的实现类。 **1.3.8 XDoclet 运行方式** - 通过命令行运行:`xdoclet -destdir . -srcdir src...

    FreeMarker文档.CHM

    在Web开发中,FreeMarker扮演着模板语言的角色,与后端数据源(如Java的Spring MVC或Servlet)相结合,生成动态内容。它将业务逻辑和视图呈现分离,遵循了Model-View-Controller(MVC)设计模式。开发者可以编写...

    AppFuse Architecture

    3. **metadata**:存储SQL脚本、服务器配置以及XDoclet片段,用于数据库操作和元数据管理。 4. **src**:Java源代码存放于此,按照包结构组织。 5. **test**:包括JUnit、Cactus和StrutsTestCase测试用例,确保代码...

    jbosside tutorial

    - **Servlet 介绍**:Servlet 是 Java EE 核心组件之一,用于处理客户端请求并返回响应。 - **生成步骤**: 1. 在项目中创建一个新的 Servlet 类。 2. 生成相关的 Web.xml 文件,定义 Servlet 的映射规则。 3. ...

    struts+spring+hibernate整合办公OA系统全套视频下载地址

    **Struts** 是一个基于Java Servlet API的MVC(Model-View-Controller)架构模式的应用框架,用于帮助开发人员创建表现层。它通过将业务逻辑与表示层分离来提高可维护性。在本视频教程中,主要介绍了Struts 2版本,...

    J2EE 学习安排表.doc

    了解ANT工具用于自动化构建,JDO(Java Data Objects)用于对象关系映射,以及DAO(Data Access Object)模式用于封装数据库访问逻辑。 第四阶段,进一步深入MVC(Model-View-Controller)架构。学习Struts框架,...

    Liferay技术文档

    每个 Portlet 的持久性数据都有单独的 ejb.xml 文件,通过 Ant 构建工具中的 build-ejb 命令生成,XDoclet 用于自动代码生成。 - **安全机制**:Liferay 采用 JAAS(Java Authentication and Authorization Service...

    流程设计 开发 向导

    - **代码和文档生成器**:xdoclet,用于自动化生成代码和文档。 - **版本控制系统**:Subversion,支持团队协作和代码版本管理。 - **构建工具**:Ant,用于项目构建自动化。 **数据库服务器支持:** RunaWFE支持...

    jboss-presentation

    Ant是一个用于自动化构建过程的工具,而XDoclet则用于生成代码注释和文档。数据源(DataSources)的配置也是开发过程中不可忽视的一环,它直接影响数据库访问的效率和安全性。 ### 类加载机制 文档还简要提及了...

    ONess-开源

    Tomcat 是一个广泛使用的轻量级Java EE应用服务器,用于运行Servlet和JSP应用。这意味着ONess 可能在Tomcat环境中运行,提供Web服务。 通过这些组件的集成,ONess 创建了一个全面的开发环境,开发者可以利用这些...

    apache-commons源码及jar文件

    Jelly 借鉴了 JSP 定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly 可以用在命令行, Ant 或者 Servlet之中。 Jexl Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的...

    Java高手的25个学习要点.txt

    Servlet是Java Web应用的基础组成部分,用于处理HTTP请求并生成响应;JSP(Java Server Pages)则是服务器端的脚本环境,可以生成动态HTML页面;JSTL(JavaServer Pages Standard Tag Library)则提供了一系列标准...

    J2EE应用开发基础

    - **XDoclet示例**:演示了如何使用XDoclet注释来生成映射文件。 - **O/RMapping基础**: - **映射声明(Mappingdeclaration)**:描述了如何定义对象与数据库表之间的映射关系。 - **Hibernate的类型**:列举了...

    javaXP极限编程

    例如,Ant用于自动化构建过程,Junit用于单元测试,而Cactus则提供了一种测试框架,用于测试Java Servlet和JSP。 #### 极限编程工具箱 书中提到了一个开放源码工具箱,涵盖了从代码管理到测试,再到部署的各个环节...

    JTangIDE用户使用手册

    XDoclet的主要功能是通过解析Javadoc注释来生成各种类型的代码和文档,包括但不限于Java源代码、XML配置文件、HTML文档、PDF文档等。这对于简化开发过程、提高代码质量和减少重复劳动具有重要意义。 2.4 OpenTool...

    hibernate_3.2_官方中文参考手册.

    - **1.4.1 编写基本的servlet**:开发一个简单的Servlet,用于处理HTTP请求和响应。 - **1.4.2 处理与渲染**:介绍如何在Servlet中使用Hibernate进行数据处理,并渲染至前端页面。 - **1.4.3 部署与测试**:讲解如何...

    java程序员需要掌握些什么知识握些什么知

    2. **JEE(Java Enterprise Edition)知识**:学习Servlet、JSP、JNDI、JMS、JTA等,了解如何在企业环境中构建分布式应用程序。 3. **数据库知识**:掌握SQL语言,理解关系型数据库的基本原理,熟悉Oracle、SQL ...

Global site tag (gtag.js) - Google Analytics