TOMCAT提示
Resolve entity failed-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
Resolve entity failed-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
mytaglib.tld
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!-- a tag library descriptor -->
<taglib>
<tlibversion>1.0 </tlibversion>
<jspversion>1.1 </jspversion>
<shortname>mytaglib </shortname>
<uri>/mytaglib </uri>
<tag>
<name>message </name>
<tagclass>mypack.MessageTag </tagclass>
<bodycontent>empty </bodycontent>
<info>produce message by key </info>
<attribute>
<name>key </name>
<required>true </required>
</attribute>
</tag>
</taglib>
web.xml
<?xml version="1.0" encoding="GB2312"?>
<!--
<!DOCTYPE web-app PUBLIC
'-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN'
'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
--> <web-app> <servlet>
<servlet-name>CounterServlet </servlet-name>
<servlet-class>mypack.CounterServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CounterServlet </servlet-name>
<url-pattern>/hello </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SampleServlet2 </servlet-name>
<servlet-class>mypack.SampleServlet2 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SampleServlet2 </servlet-name>
<url-pattern>/SampleServlet2 </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dispatcher </servlet-name>
<servlet-class>mypack.DispatcherServlet </servlet-class>
<load-on-startup>1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher </servlet-name>
<url-pattern>/dispatcher </url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/mytaglib </taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld </taglib-location>
</taglib> <filter>
<filter-name>NoteFilter </filter-name>
<filter-class>NoteFilter </filter-class>
<init-param>
<param-name>blacklist </param-name>
<param-value>jack </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NoteFilter </filter-name>
<url-pattern>/note </url-pattern>
</filter-mapping>
<servlet>
<servlet-name>NoteServlet </servlet-name>
<servlet-class>mypack.NoteServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NoteServlet </servlet-name>
<url-pattern>/note </url-pattern>
</servlet-mapping>
</web-app>
程序代码
DispatcherServlet.java
package mypack;
//package mypack;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class DispatcherServlet extends HttpServlet{
private String target="/hello.jsp"; public void init(ServletConfig config)throws ServletException{
super.init(config);
Properties ps=new Properties();
Properties ps_ch=new Properties();
try{
ServletContext context=config.getServletContext();
InputStream in=context.getResourceAsStream("/WEB-INF/messageresource.properties");
ps.load(in);
InputStream in_ch=context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);
in.close();
in_ch.close();
context.setAttribute("ps",ps);
context.setAttribute("ps_ch", ps_ch); }
catch(Exception e){
e.getStackTrace();
} } public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException{
String username=request.getParameter("username");
String password=request.getParameter("password");
request.setAttribute("USER",username);
request.setAttribute("PASSWORD",password);
ServletContext context=getServletContext();
System.out.println("Redirectiongto"+target);
RequestDispatcher dispatcher=context.getRequestDispatcher(target);
dispatcher.forward(request,response);
}
public void destrou(){ } }
MessageTag.java
package mypack;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class MessageTag extends TagSupport{
private String key = null;
public MessageTag(){}
public String getKey(){
return this.key;
}
public void setKey(){
this.key=key;
}
public int doEndTag() throws JspException{
try{
Properties ps=(Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);
Properties ps_ch=(Properties)pageContext.getAttribute("ps_ch",pageContext.APPLICATION_SCOPE);
HttpSession session=pageContext.getSession();
String language=(String)session.getAttribute("language");
String message=null;
if(language!=null&&language.equals("Chinese")){
message=(String)ps_ch.get(key);
message=new String(message.getBytes("ISO-8859-1"),"GB2312"); }
else
message=(String)ps.get(key);
pageContext.getOut().print(message);
}
catch(Exception e){
throw new JspTagException(e.getMessage()); }
return SKIP_BODY;
}
public void release(){
super.release();
}
}
异常
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /login.jsp(10,7) Unable to find setter method for attribute: key
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2677)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2825)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2158)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1669)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
Resolve entity failed-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
Resolve entity failed-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
mytaglib.tld
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!-- a tag library descriptor -->
<taglib>
<tlibversion>1.0 </tlibversion>
<jspversion>1.1 </jspversion>
<shortname>mytaglib </shortname>
<uri>/mytaglib </uri>
<tag>
<name>message </name>
<tagclass>mypack.MessageTag </tagclass>
<bodycontent>empty </bodycontent>
<info>produce message by key </info>
<attribute>
<name>key </name>
<required>true </required>
</attribute>
</tag>
</taglib>
web.xml
<?xml version="1.0" encoding="GB2312"?>
<!--
<!DOCTYPE web-app PUBLIC
'-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN'
'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
--> <web-app> <servlet>
<servlet-name>CounterServlet </servlet-name>
<servlet-class>mypack.CounterServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CounterServlet </servlet-name>
<url-pattern>/hello </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SampleServlet2 </servlet-name>
<servlet-class>mypack.SampleServlet2 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SampleServlet2 </servlet-name>
<url-pattern>/SampleServlet2 </url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dispatcher </servlet-name>
<servlet-class>mypack.DispatcherServlet </servlet-class>
<load-on-startup>1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher </servlet-name>
<url-pattern>/dispatcher </url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/mytaglib </taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld </taglib-location>
</taglib> <filter>
<filter-name>NoteFilter </filter-name>
<filter-class>NoteFilter </filter-class>
<init-param>
<param-name>blacklist </param-name>
<param-value>jack </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NoteFilter </filter-name>
<url-pattern>/note </url-pattern>
</filter-mapping>
<servlet>
<servlet-name>NoteServlet </servlet-name>
<servlet-class>mypack.NoteServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NoteServlet </servlet-name>
<url-pattern>/note </url-pattern>
</servlet-mapping>
</web-app>
程序代码
DispatcherServlet.java
package mypack;
//package mypack;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class DispatcherServlet extends HttpServlet{
private String target="/hello.jsp"; public void init(ServletConfig config)throws ServletException{
super.init(config);
Properties ps=new Properties();
Properties ps_ch=new Properties();
try{
ServletContext context=config.getServletContext();
InputStream in=context.getResourceAsStream("/WEB-INF/messageresource.properties");
ps.load(in);
InputStream in_ch=context.getResourceAsStream("/WEB-INF/messageresource_ch.properties");
ps_ch.load(in_ch);
in.close();
in_ch.close();
context.setAttribute("ps",ps);
context.setAttribute("ps_ch", ps_ch); }
catch(Exception e){
e.getStackTrace();
} } public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException{
String username=request.getParameter("username");
String password=request.getParameter("password");
request.setAttribute("USER",username);
request.setAttribute("PASSWORD",password);
ServletContext context=getServletContext();
System.out.println("Redirectiongto"+target);
RequestDispatcher dispatcher=context.getRequestDispatcher(target);
dispatcher.forward(request,response);
}
public void destrou(){ } }
MessageTag.java
package mypack;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class MessageTag extends TagSupport{
private String key = null;
public MessageTag(){}
public String getKey(){
return this.key;
}
public void setKey(){
this.key=key;
}
public int doEndTag() throws JspException{
try{
Properties ps=(Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);
Properties ps_ch=(Properties)pageContext.getAttribute("ps_ch",pageContext.APPLICATION_SCOPE);
HttpSession session=pageContext.getSession();
String language=(String)session.getAttribute("language");
String message=null;
if(language!=null&&language.equals("Chinese")){
message=(String)ps_ch.get(key);
message=new String(message.getBytes("ISO-8859-1"),"GB2312"); }
else
message=(String)ps.get(key);
pageContext.getOut().print(message);
}
catch(Exception e){
throw new JspTagException(e.getMessage()); }
return SKIP_BODY;
}
public void release(){
super.release();
}
}
异常
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /login.jsp(10,7) Unable to find setter method for attribute: key
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2677)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2825)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2158)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1669)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货