2019年1月アーカイブ

セキュリティ界隈でご承知のStrutsフレームワーク脆弱性対応の一環として  ⇒  ( https://www.ipa.go.jp/security/ciadr/vul/20180823-struts.html )

タグリブの挙動確認での環境で、
JSP  <%@ taglib uri="/tags/struts-html" prefix="html" %> 式で指定する場合がある。

このとき web.xml で
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>  などの指定方法があるけど普通に、

JSP  <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
のように直接URIを指定すればよい

struts-taglib-1.3.10.jar
  META-INF
    tld
       struts-logic.tld

でURIが以下に指定されている。
<taglib>
<tlib-version>1.3</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>logic</short-name>
<uri>http://struts.apache.org/tags-logic</uri>

///////  知っていれば当たり前なのかもしれないけど、知らないと出くわすエラーその1 /////////

<c:set ら、cタグ  (  = Core Tags /  JSTL ) は、
standard-1.0.7.jar
META-INF
c.tld ( <uri>http://java.sun.com/jstl/core</uri> )
fmt.tld ら、

jstl-1.0.2.jar
javax.servlet.jsp.jstl
core
fmt
sql
tlv

jstl-1.0.2.jar が欠けると、以下

javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


//////  知っていれば当たり前なのかもしれないけど、知らないと出くわすエラーその2///

『TLD又はタグファイル中のattribute指示子に従って属性valueはどんな式も受け付けません』??
以下の  c:out value="${element}" でなにやらわけのわからないエラー発生。

<logic-el:iterate id="element" name="bean" property="stringArray"
indexId="index">
<li><em><c:out value="${element}"/></em>&nbsp;[<c:out value="${index}"/>]</li>
</logic-el:iterate>

⇒古い頃の 動的Webプロジェクト対応のためか、以下バージョン 2.3 に合わせる必要あり。

<!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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> とかだとうまくいかない。移行前現行システム解析は面倒。でもこういった既存解読が移行計画はどうしても必要。

//////  知っていれば当たり前なのかもしれないけど、知らないと出くわすエラー その3///

commons-beanutils-1.8.0.jar が欠けてるとなにやら以下のエラー。 Apache Commonsに依存している。

HTTPステータス 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/beanutils/PropertyUtils

type 例外レポート

メッセージ javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/beanutils/PropertyUtils

説明 The server encountered an internal error that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/beanutils/PropertyUtils
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

//////  知っていれば当たり前なのかもしれないけど、知らないと出くわすエラー その4 ////

commons-logging-1.0.4.jar   が欠けてると今度は以下のエラー。なにかとCommons に依存している模様。

HTTPステータス 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

type 例外レポート

メッセージ javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

説明 The server encountered an internal error that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

このアーカイブについて

このページには、2019年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2018年7月です。

次のアーカイブは2019年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。