-1

my code run exactly with tomcat 7.0 and jre 1.7 but when i try it with tomcat 8.0 and jre 1.8 ,i have errors my struts.xml file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
 <package name="aa" extends="struts-default">
  <action name="">
   <result>/login.jsp</result>
  </action>
  <action name="index">
   <result>/login.jsp</result>
  </action>
  <action name="log" class="com.action.LoginAction" method="execute">
   <result name="success">/loginSuccess.jsp</result>
   <result name="input">/login.jsp</result>
  </action>
  
  <action name="register" class="com.action.RegisterAction" method="execute">
   <result name="success">/listAllUser.jsp</result>
  </action>
  
  <action name ="reg">
   <result>/register.jsp</result>
  </action>
 </package>
</struts>

login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
 <%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
 <s:form action="log">
  <s:head/>
  <s:textfield name="userBean.account" label="Account"></s:textfield>
  <s:password name="userBean.passWord" label="Pass word"></s:password>
  
  <s:submit></s:submit>
  <p><a href="<s:url action ="reg"></s:url>">you not register?</a></p>
 </s:form>
</body>
</html>

loginAction.java

package com.action;

import com.model.User;
import com.opensymphony.xwork2.ActionSupport;


public class LoginAction extends ActionSupport{
 private User userBean;
 public String execute() throws Exception{
  return "success";
 }
 public User getUserBean() {
  return userBean;
 }
 public void setUserBean(User userBean) {
  this.userBean = userBean;
 } 
 public void validate(){
  if(userBean.getAccount().length() == 0){
   addFieldError("userBean.account", "this account is require");
  }
  if(userBean.getPassWord().length() == 0){
   addFieldError("userBean.passWord", "this pass word is require");
  }
 }
}

and web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Assignment5</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

 </filter>

 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>
and 404 error

HTTP Status 404 - /Assignment5/
type Status report

message /Assignment5/

description The requested resource is not available.


--------------------------------------------------------------------------------

Apache Tomcat/8.0.28

log file

Aug 06, 2016 7:16:11 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
ERROR Dispatcher Dispatcher initialization failed
 Unable to load configuration. - action - file:/D:/JavaEEProjects/.metadata/.plugins/org.eclipse.wst.server.core/tmp5/wtpwebapps/Assignment5/WEB-INF/classes/struts.xml:19:78
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
 at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:897)
 at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:437)
 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:478)
 at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:75)
 at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:63)
 at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
 at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
 at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
 at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4583)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
Caused by: Action class [com.action.registerAction] not found - action - file:/D:/JavaEEProjects/.metadata/.plugins/org.eclipse.wst.server.core/tmp5/wtpwebapps/Assignment5/WEB-INF/classes/struts.xml:19:78
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:493)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:442)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:557)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:311)
 at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:108)
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:187)
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
 ... 17 more
Aug 06, 2016 7:16:12 AM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
Unable to load configuration. - action - file:/D:/JavaEEProjects/.metadata/.plugins/org.eclipse.wst.server.core/tmp5/wtpwebapps/Assignment5/WEB-INF/classes/struts.xml:19:78
 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:491)
 at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:75)
 at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:63)
 at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
 at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
 at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
 at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4583)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
Caused by: Unable to load configuration. - action - file:/D:/JavaEEProjects/.metadata/.plugins/org.eclipse.wst.server.core/tmp5/wtpwebapps/Assignment5/WEB-INF/classes/struts.xml:19:78
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
 at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:897)
 at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:437)
 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:478)
 ... 14 more
Caused by: Action class [com.action.registerAction] not found - action - file:/D:/JavaEEProjects/.metadata/.plugins/org.eclipse.wst.server.core/tmp5/wtpwebapps/Assignment5/WEB-INF/classes/struts.xml:19:78
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:493)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:442)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:557)
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:311)
 at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:108)
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:187)
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
 ... 17 more

i use struts jar following enter image description here

Roman C
  • 49,761
  • 33
  • 66
  • 176
Hung Huy
  • 15
  • 4

1 Answers1

-1

Approach#1:

For Tomcat 8, You need to add the following line to tomcat/conf/logging.properties for the jars scanned by Tomcat to show up in the logs:

org.apache.jasper.servlet.TldScanner.level = FINE

Approache#2:

  1. Add this line to the end of your {CATALINA-HOME}/conf/logging.properties: org.apache.jasper.level = FINEST

  2. Shut down the server (if started).

  3. Open console and run (in case of Windows):

    %CATALINA_HOME%\bin\catalina.bat run

  4. Enjoy logs, e.g. (again, for Windows):

    {CATALINA-HOME}/logs/catalina.2015-12-28.log

Community
  • 1
  • 1
SkyWalker
  • 28,384
  • 14
  • 74
  • 132