Here is the basic structure you want.....

    someEJBs.jar  - this is a jar file with your ejbs in it....

    +com
    |---+company
        |---+package
            |---+ejb
                |---*.class

    +META-INF
    |---ejb-jar.xml
    |---jboss.xml
    |---jaws.xml

the last two files are optional.

    web-app.war

        +jsps
          +any other resource directories
        +WEB-INF
          |---+lib
                |---*.jar               < jars to include in classpath
                +classes
                |---*.class     < your servlet classes
                +web.xml
                +jboss-web.xml  < optional

your ear file will look like this

        application.ear

        +someEJBs.jar
        +web-app.war
        +META-INF
        |---application.xml

Here is an example web.xml for you which maps several jsp files and includes
security

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app>

    <servlet>
        <servlet-name>sitereports</servlet-name>
        <display-name>sitereports</display-name>
        <description>No Description</description>
        <jsp-file>/site/reports.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>sitereports</servlet-name>
        <url-pattern>/site/reports</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>messagepost</servlet-name>
        <display-name>messagepost</display-name>
        <description>No Description</description>
        <jsp-file>/user/messagePost.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>messagepost</servlet-name>
        <url-pattern>/user/messagePost</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>manager</servlet-name>
        <display-name>manager</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/manager.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>manager</servlet-name>
        <url-pattern>/restricted/manager</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>download</servlet-name>
        <display-name>download report</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/downloadReport.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>download</servlet-name>
        <url-pattern>/restricted/downloadReport</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>status</servlet-name>
        <display-name>status report</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/status.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>status</servlet-name>
        <url-pattern>/restricted/status</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>statusController</servlet-name>
        <display-name>status Controller</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/statusController.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>statusController</servlet-name>
        <url-pattern>/restricted/statusController</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>bysite</servlet-name>
        <display-name>by Site</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/bysite.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>bysite</servlet-name>
        <url-pattern>/restricted/bysite</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>bydate</servlet-name>
        <display-name>by date</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/bydate.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>bydate</servlet-name>
        <url-pattern>/restricted/bydate</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>bysitedate</servlet-name>
        <display-name>by Sitedate</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/bysitedate.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>bysitedate</servlet-name>
        <url-pattern>/restricted/bysitedate</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>discussion</servlet-name>
        <display-name>discussions</display-name>
        <description>No Description</description>
        <jsp-file>/user/discussion.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>discussion</servlet-name>
        <url-pattern>/user/discussion</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>chartall</servlet-name>
        <display-name>chart all</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/chartall.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>chartall</servlet-name>
        <url-pattern>/restricted/chartall</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>approveUsers</servlet-name>
        <display-name>approve Users</display-name>
        <description>No Description</description>
        <jsp-file>/restricted/approveUsers.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>approveUsers</servlet-name>
        <url-pattern>/restricted/approveUsers</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <taglib>
        <taglib-uri>chartTag</taglib-uri>
        <taglib-location>/WEB-INF/tlds/chart.tld</taglib-location>
    </taglib>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>user</web-resource-name>
                <url-pattern>/user/*</url-pattern>
            <http-method>DELETE</http-method>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>PUT</http-method>
        </web-resource-collection>

        <auth-constraint>
                <role-name>manager</role-name>
                <role-name>siteadmin</role-name>
                <role-name>user</role-name>
        </auth-constraint>

          <user-data-constraint>
                <description>no description</description>
                <transport-guarantee>NONE</transport-guarantee>
          </user-data-constraint>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>site</web-resource-name>
                <url-pattern>/site/*</url-pattern>
            <http-method>DELETE</http-method>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>PUT</http-method>
        </web-resource-collection>

        <auth-constraint>
                <role-name>manager</role-name>
                <role-name>siteadmin</role-name>
                <role-name>user</role-name>
        </auth-constraint>

          <user-data-constraint>
                <description>no description</description>
                <transport-guarantee>NONE</transport-guarantee>
          </user-data-constraint>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>restricted</web-resource-name>
                <url-pattern>/restricted/*</url-pattern>
            <http-method>DELETE</http-method>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>PUT</http-method>
        </web-resource-collection>

        <auth-constraint>
                <role-name>manager</role-name>
        </auth-constraint>

          <user-data-constraint>
                <description>no description</description>
                <transport-guarantee>NONE</transport-guarantee>
          </user-data-constraint>
    </security-constraint>

    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>pagescreamer</realm-name>
    </login-config>

    <security-role>
        <description>A user with administrative role</description>
        <role-name>admin</role-name>
    </security-role>

    <security-role>
        <description>A user with site administrative role</description>
        <role-name>siteadmin</role-name>
    </security-role>

    <security-role>
        <description>A user role</description>
        <role-name>user</role-name>
    </security-role>

    <ejb-ref>
        <ejb-ref-name>ejb/messageController</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <home>com.crunchy.ejb.session.messageControllerHome</home>
        <remote>com.crunchy.ejb.session.messageController</remote>
    </ejb-ref>

    <ejb-ref>
        <ejb-ref-name>ejb/messagethread</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <home>com.crunchy.ejb.entity.MessagethreadTHome</home>
        <remote>com.crunchy.ejb.entity.MessagethreadT</remote>
    </ejb-ref>

</web-app>


Here is an ejb.jar....

<?xml version="1.0" encoding="Cp1252"?>

<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>

<ejb-jar>
  <description>PageScreamer Central Message Beans</description>
  <display-name>Messages</display-name>
  <enterprise-beans>
    <session>
      <ejb-name>messageController</ejb-name>
      <home>com.crunchy.ejb.session.messageControllerHome</home>
      <remote>com.crunchy.ejb.session.messageController</remote>
      <ejb-class>com.crunchy.ejb.session.messageControllerBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <ejb-ref>
        <ejb-ref-name>ejb/messageThread</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <home>com.crunchy.ejb.entity.MessagethreadTHome</home>
        <remote>com.crunchy.ejb.entity.MessagethreadT</remote>
        <ejb-link>messageThread</ejb-link>
      </ejb-ref>
      <ejb-ref>
        <ejb-ref-name>ejb/forum</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <home>com.crunchy.ejb.entity.ForumTHome</home>
        <remote>com.crunchy.ejb.entity.ForumT</remote>
        <ejb-link>forum</ejb-link>
      </ejb-ref>
      <ejb-ref>
        <ejb-ref-name>ejb/message</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <home>com.crunchy.ejb.entity.MessageTHome</home>
        <remote>com.crunchy.ejb.entity.MessageT</remote>
        <ejb-link>message</ejb-link>
      </ejb-ref>
      <security-role-ref>
        <role-name>user</role-name>
        <role-link>user</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>siteadmin</role-name>
        <role-link>siteadmin</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>manager</role-name>
        <role-link>manager</role-link>
      </security-role-ref>
    </session>
    <entity>
      <ejb-name>messageThread</ejb-name>
      <home>com.crunchy.ejb.entity.MessagethreadTHome</home>
      <remote>com.crunchy.ejb.entity.MessagethreadT</remote>
      <ejb-class>com.crunchy.ejb.entity.MessagethreadTBean</ejb-class>
      <persistence-type>Bean</persistence-type>

<prim-key-class>com.crunchy.ejb.entity.MessagethreadT_PK</prim-key-class>
      <reentrant>False</reentrant>
      <security-role-ref>
        <role-name>user</role-name>
        <role-link>user</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>manager</role-name>
        <role-link>manager</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>siteadmin</role-name>
        <role-link>siteadmin</role-link>
      </security-role-ref>
    </entity>
    <entity>
      <ejb-name>forum</ejb-name>
      <home>com.crunchy.ejb.entity.ForumTHome</home>
      <remote>com.crunchy.ejb.entity.ForumT</remote>
      <ejb-class>com.crunchy.ejb.entity.ForumTBean</ejb-class>
      <persistence-type>Bean</persistence-type>
      <prim-key-class>com.crunchy.ejb.entity.ForumT_PK</prim-key-class>
      <reentrant>False</reentrant>
      <security-role-ref>
        <role-name>user</role-name>
        <role-link>user</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>manager</role-name>
        <role-link>manager</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>siteadmin</role-name>
        <role-link>siteadmin</role-link>
      </security-role-ref>
    </entity>
    <entity>
      <ejb-name>message</ejb-name>
      <home>com.crunchy.ejb.entity.MessageTHome</home>
      <remote>com.crunchy.ejb.entity.MessageT</remote>
      <ejb-class>com.crunchy.ejb.entity.MessageTBeanBMP</ejb-class>
      <persistence-type>Bean</persistence-type>
      <prim-key-class>com.crunchy.ejb.entity.MessageT_PK</prim-key-class>
      <reentrant>False</reentrant>
      <security-role-ref>
        <role-name>user</role-name>
        <role-link>user</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>manager</role-name>
        <role-link>manager</role-link>
      </security-role-ref>
      <security-role-ref>
        <role-name>siteadmin</role-name>
        <role-link>siteadmin</role-link>
      </security-role-ref>
    </entity>
  </enterprise-beans>
  <assembly-descriptor>
    <security-role>
      <role-name>user</role-name>
    </security-role>
    <security-role>
      <role-name>manager</role-name>
    </security-role>
    <security-role>
      <role-name>siteadmin</role-name>
    </security-role>
    <method-permission>
      <role-name>user</role-name>
      <role-name>manager</role-name>
      <role-name>siteadmin</role-name>
      <method>
        <ejb-name>message</ejb-name>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <method-permission>
      <role-name>user</role-name>
      <role-name>manager</role-name>
      <role-name>siteadmin</role-name>
      <method>
        <ejb-name>forum</ejb-name>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <method-permission>
      <role-name>user</role-name>
      <role-name>manager</role-name>
      <role-name>siteadmin</role-name>
      <method>
        <ejb-name>messageThread</ejb-name>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <method-permission>
      <role-name>user</role-name>
      <role-name>manager</role-name>
      <role-name>siteadmin</role-name>
      <method>
        <ejb-name>messageController</ejb-name>
        <method-name>*</method-name>
      </method>
    </method-permission>
    <container-transaction>
      <method>
        <ejb-name>messageController</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>forum</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>messageThread</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>message</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>


and finally here is the application.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<application>
        <display-name>Some application</display-name>
        <description>
        </description>
        <module>
        <web>
                <web-uri>pagescreamer.war</web-uri>
                <context-root>/pagescreamer</context-root>
        </web>
        </module>

        <module>
                <ejb>message.jar</ejb>
        </module>

        <module>
                <ejb>databeans.jar</ejb>
        </module>

        <module>
                <ejb>userbeans.jar</ejb>
        </module>

</application>





-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of mroosendaal
Sent: Monday, June 11, 2001 8:21 AM
To: [EMAIL PROTECTED]
Subject: [JBoss-user] howto for a webapp.


You should not use WEB-INF for your JSP's, as that directory is for private
resources... the public resources (protected by security or not should go in
the root of the war file.

Hope this has helped,

Al


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to