Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Grouper UI In Weblogic 9.x

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Grouper UI In Weblogic 9.x


Chronological Thread 
  • From: Monica Crawford <>
  • To: "GW Brown, Information Systems and Computing" <>
  • Cc:
  • Subject: Re: [grouper-users] Grouper UI In Weblogic 9.x
  • Date: Thu, 10 Aug 2006 22:19:03 -0500

Hi Gary,

Thanks for the help. I've attached two files. One explains the things that should change for the 2.4 servlet deployment descriptor and support for jsp 2.0. The other is the 2.4 deployment descriptor taken from the grouper-qs that is altered to use 2.4.

Some more details if your interested:
By spec a 2.4 servlet container should support a 2.3 deployment descriptor. Weblogic 9.x will support a 2.3 servlet descriptor just fine w/ jstl 1.0 uri references for the <@taglib> jsp refs (the jar file is still 1.1). This works great as long as el is not used in tiles. Tiles-el seems to be the main source of pain in weblogic 9.x.

<Thinking out loud here...> things I can think of that might work (yet to try) include:
- keep a 2.3 deployment descriptor, but somehow find another mechanism besides tiles-el - (maybe use the beanname?) Is it possible to remove all el references from tiles? We still need to test if it is affecting all struts-el (html, bean, etc)
- keep a 2.3 deployment descriptor, maybe create a custom tag to wrap/resolve the tiles specific el issues before hitting the page.
- use a 2.4/jsp 2.0 environment, need to evaluate the impact. How many grouper users are still on 2.3/1.2 envs? What is the protocol for deciding things like this? This may be way out-of-scope but an alternative.

Let me know if there are additional questions.....

Monica


GW Brown, Information Systems and Computing wrote:
Hi Monica,

I haven't tried getting the Grouper UI to run against servlet 2.4/jsp 2.0 - I have deliberately avoided taking advantage of any new features so that there aren't any backward compatability issues.

I don't have a Weblogic instance to work against, but I'll have a go at setting up the UI for Tomcat servlet 2.4/jsp 2.0 and see what errors occur. If you would send me your 2.4 deployment descriptor that will help me get started.

Regards,

Gary

--On 09 August 2006 17:24 -0500 Monica Crawford <> wrote:

Hi folks,

Is there intended support for Grouper UI running against a Servlet
2.4/JSP 2.0 deployment descriptor?

I'm trying to get the Weblogic 9.x (servlet 2.4/jsp 2.0) environment to
run grouper-qs and I run into errors starting with template.jsp. There
are a couple of things happening; an infinite loop in the
LoginCheckFilter if the document.location.replace("error.do") isn't
commented out, and the main issue - EL evaluation in the tiles tag
attributes isn't happening.

Seeking an answer I find this post
http://forums.bea.com/bea/message.jspa?messageID=600020538&tstart=0 and
try to convert the grouper-qs ui webapp to use the 2.4 deployment
descriptor with some hopeful success but alas keep running into various
errors regarding the taglibs on the include.jsp. Even after updating
JSTL/Standard jars to 1.1 dtd references, it appears that the taglib
definitions in include.jsp aren't being 'included' in subsequent jsps
even if I use a dynamic include. Each new thing I 'fix' seems to open a
new issue.

I'm sure I'm missing something rather simple. Any ideas for a cure? I
can recreate the EL problem with a rather simple webapp, but can't
recreate the include.jsp taglib issue. Let me know what additional info
you might need to further investigate.

--

---------------------------------------------------
**web.xml**

change from:
<!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:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; version="2.4">
<jsp-config><taglib> additions for custom tag only

remove all:
<taglib> references for jstl and struts taglib declarations (point directly
to uri listed in apache standards 1.1 and Struts 1.2.x .tld files)

add the 2.4 taglib referece of:
<jsp-config>
<taglib>

<taglib-uri>http://middleware.internet2.edu/dir/groups/grouper</taglib-uri>
<taglib-location>/WEB-INF/grouper-el.tld</taglib-location>
</taglib>
</jsp-config>

---------------------------------------------------
**WEB-INF/*.tld**
rename all JSTL/Struts tld files to .x to remove possible interference with
.dtd listings in .jar files. Or remove all the non-custom .tld files (keep
the grouper one)

---------------------------------------------------
**WEB-INF/lib**
remove all the jstl/standard 1.0 jar files
add jstl/standard.jar 1.1.
remove the struts-el.jar

---------------------------------------------------
**struts-config.xml**
upgraded dtd to match the 1.2.4 jar version:
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd";>

---------------------------------------------------
**grouper-el.tld**
change taglib to point to jsp 2.0 taglib schema:
<taglib xmlns="http://java.sun.com/xml/ns/javaee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd";
version="2.0">
remove:
<taglibversion> and <jspversion>
add:
<tlib-version>1.0</tlib-version>
change:
<shortname> to <short-name>

---------------------------------------------------
**include.jsp**
remove all jstl 1.0 and old struts 1.1x uri references
add all jstl 1.1 references and struts 1.2.x uri references (no tiles-el):
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml"; prefix="x"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"; prefix="fmt"%>
<%@ taglib uri="http://struts.apache.org/tags-bean"; prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-html"; prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles"; prefix="tiles"%>

---------------------------------------------------
**template.jsp**
comment out document.location.value (error.do ) at end of file.

---------------------------------------------------
**ELTileRecordTag**
remove reference to EL library (struts-el lib is gone for JSP 2.0):
import org.apache.strutsel.taglib.utils.EvalHelper; and evaluateExpressions();


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


<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
	version="2.4">
	<filter>
		<filter-name>Login check</filter-name>
		<filter-class>
			edu.internet2.middleware.grouper.ui.LoginCheckFilter
		</filter-class>
		<init-param>
			<param-name>failureUrl</param-name>
			<param-value>/</param-value>
		</init-param>
		<init-param>
			<param-name>ignore</param-name>
			<param-value>
				:/populateIndex.do:/callLogin.do:/error.do:/logout.do:
			</param-value>
		</init-param>
	</filter>
	<filter>
		<filter-name>Caller page</filter-name>
		<filter-class>
			edu.internet2.middleware.grouper.ui.CallerPageFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>Caller page</filter-name>
		<url-pattern>/gotoCallerPage</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Login check</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>
	<listener>
		<listener-class>
			edu.internet2.middleware.grouper.ui.GrouperSessionAttributeListener
		</listener-class>
	</listener>
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>
			org.apache.struts.action.ActionServlet
		</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<error-page>
		<error-code>401</error-code>
		<location>/401.do</location>
	</error-page>
	<error-page>
		<exception-type>java.lang.Exception</exception-type>
		<location>/error.do</location>
	</error-page>
	<jsp-config>
		<taglib>
 			<taglib-uri>http://middleware.internet2.edu/dir/groups/grouper</taglib-uri>
    		<taglib-location>/WEB-INF/grouper-el.tld</taglib-location>
		</taglib>
	</jsp-config>
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Tomcat login</web-resource-name>
			<url-pattern>/login.do</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<!-- NOTE:  This role is not present in the default users file -->
			<role-name>grouper_user</role-name>
		</auth-constraint>
	</security-constraint>

	<!-- Define the Login Configuration for this Application -->
	<login-config>
		<auth-method>BASIC</auth-method>
		<realm-name>Grouper Application</realm-name>
	</login-config>

	<!-- Security roles referenced by this web application -->
	<security-role>
		<description>
			The role that is required to log in to the Manager
			Application
		</description>
		<role-name>grouper_user</role-name>
	</security-role>
</web-app>



Archive powered by MHonArc 2.6.16.

Top of Page