I am having 404 error in the maven web-app project. I am using tomcat in the port 8081,
The web.xml is as below;
<!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="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>testProject</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
Do anybody have any Idea what might be wrong with the projects. I have other projects in my eclipse and they work. Also I tried to use jBoss but the error is same. I thing some kind of configuration is left out and I could not figure what.
Thank You in advance.
In your ScreenShot the red X on the project mean that eclipse found some error in your project. Often eclipse will not compile or deploy as long as there exist a serious error.
So fix the problem first, and then retry.
Beside what Ralph suggested to check any possible build errors, you may also try moving your JSP page to src/main/webapp directory, and then in the project setting make sure that the web deployment assembly has the correct mapping. As an example, your src/main/webapp directory should be mapped to web context root / as shown the following example setting
Related
I am trying to create a new web project using eclipse
File-> new -> Dynamic web project
Next Next and Finish
Here I get the web.xml and it shows me the following error
(if I select 2.5 dynamic web module version):
cvc-elt.1.a: Cannot find the declaration of element 'web-app'.
(if I select 3.0 dynamic web module version):
Error while downloading 'http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd' to C:
\Users\yg178f\.lsp4xml\cache\http\java.sun.com\xml\ns\javaee\web-app_3_0.xsd.
Here is my web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 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">
<display-name>Struts2Demo</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>
</web-app>
I took this web.xml from here, and got rid of the issues, by removing all the URLs:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Environment variables path image
I had the same problem. I just uninstalled jdk along with the eclipse enterprise IDE. Downloaded jdk version 11 and installed it. Went to the environment and created a new file under JAVA_HOME and linked it to the jdk version 11. Added this to my path along with the CATALIN_HOME linked to tomcat version 9.
I then installed Eclipse enterprise ide for java developers(eclipse jee 2018-12-R) and created a new project. Voila!
The only downside is that they're a bit outdated, but hey better that than the hassle of an xml error.
Anyways if anyone's got a better solution, I am all in.
I'm a first time user on stack overflow and new to Glassfish.
I'm using NetBeans 8.2 and Glassfish 5.0, my application is using Primefaces and JSF.
I can deploy my application successfully to Glassfish using NetBeans or via a .war file, but every time I restart Glassfish I get a 404 error when I try to access my web application. I then need to redeploy my application for it to work again. I am able to redeploy via NetBeans without issue, but need to undeploy before redeploying if using a .war file.
I have a test application running on the same server that is not impacted by the restart.
I've looked at similar issues on stack overflow and tried modifying my web.xml but this doesn't seem to help. I suspect this is a configuration error on my part, here is my web.xml.
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE Production</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
</web-app>
I was expecting the web application to be unaffected by a Glassfish server restart, but it requires redeployment for it to run successfully after a restart.
Any suggestions greatly appreciated. :)
I have a google app engine connected project (in eclipse juno) and it contains a simple servlet file but for some reason when I run the project ,the corresponding class file is not getting created inside WEB-INF/classes folder, in fact there is no classes folder inside WEB-INF. and hence I am unable to run the servlet.I will appreciate if someone could suggest some solution.
Below is my web.xml file->
<?xml version="1.0" encoding="utf-8" standalone="no"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>SystemServiceServlet</servlet-name>
<servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value>com.queryname.DeviceInfoEndpoint,com.queryname.MessageEndpoint</param-value>
</init-param>
<servlet-name>QueryServiceServlet</servlet-name>
<servlet-class>com.queryname.QueryTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SystemServiceServlet</servlet-name>
<url-pattern>/_ah/spi/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>QueryServiceServlet</servlet-name>
<url-pattern>/Query/*</url-pattern>
</servlet-mapping>
</web-app>
I get the following exception-->
WARNING: Failed startup of context com.google.appengine.tools.development.DevAppEngineWebAppContext#684528a3{/,C:\Users\User8\workspace\QueryName-AppEngine\war}
java.lang.IllegalStateException: No such servlet: QueryServiceServlet
Regards,
Laura.
Move your <servlet-name> and <servlet-class> into their own <servlet> and see if this solves the problem. currently they are under the <servlet> element of the SystemServiceServlet.
I create Facebook JSP Application. I use Restful Java Client Web Services. And created .java file. in this file have Servlet. but can not deploy it into the hosting. I deployed follow
WEB-INF
-classes
-facebook
-socialnetworkingservice
-facebookresponse
......and many classes
-META-INF
-org
-my
-facebook
-client
FacebookClient$FacebookCallbackServlet.class
FacebookClient$FacebookLoginServlet.class
FacebookClient.class
-lib
..lib files
-web.xml
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>FacebookClient$FacebookLoginServlet</servlet-name>
<servlet-class>org.my.facebook.client.FacebookClient$FacebookLoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>FacebookClient$FacebookCallbackServlet</servlet-name>
<servlet-class>org.my.facebook.client.FacebookClient$FacebookCallbackServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FacebookClient$FacebookLoginServlet</servlet-name>
<url-pattern>/FacebookLoginServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FacebookClient$FacebookCallbackServlet</servlet-name>
<url-pattern>/FacebookCallbackServlet/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
META-INf ( I think it is not important)
I compile localhost and have (MyFbFriend.war)
and I get this error
"Not Found
The requested URL /FacebookLoginServlet was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."
Try
http://localhost:8080/MyFbFriend/FacebookLoginServlet/
The name of the War gives the Context of the App
I am trying to deploy a servlet on Tomcat from Eclipse using WTP plugin. Eclipse is working fine and Tomcat is also up. As when I open http://localhost:8080 I get the home page of Tomcat. I am following this exact tutorial http://www.vogella.com/articles/EclipseWTP/article.html but when I try to deploy it on tomcat by right clicking on servlet class and run as run on server I get following error. The requested resource (/test/FileCounter) is not available. I searched but could not find anything which could help me. I am using Eclipse Java EE IDE and Tomcat 6. Following is my web.xml file
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>test</display-name>
<servlet>
<description></description>
<display-name>FileCounter</display-name>
<servlet-name>FileCounter</servlet-name>
<servlet-class>com.servlets.FileCounter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileCounter</servlet-name>
<url-pattern>/FileCounter</url-pattern>
</servlet-mapping>
</web-app>
I faced this same problem and just solved it !
In the Project Explorer , expand the Deployment descriptor ( just above the Java resource ) . Then expand "servlet" in that deployment descriptor , their should be your created Servlet. Right click on it and Run as --> Run on server .
But one thing isn't clear to me in Eclipse that web.xml is not defined properly but the servlet is running without it !
I just had this same problem. It appears from some reason when I created the servlet through the servlet wizard, eclipse did not create a web.xml file in the WebContent WEB-INF folder. I don't know why it didn't create it.
I added the web.xml file into the WebContent/WEB-INF folder and when I did that, I had a servlet under deployment descriptor that I could right click on and run as -> run on server
Here is the web.xml file you need:
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>test</display-name>
<servlet>
<description></description>
<display-name>FileCounter</display-name>
<servlet-name>FileCounter</servlet-name>
<servlet-class>your.servlet.path.filecounter.servlets.FileCounter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileCounter</servlet-name>
<url-pattern>/FileCounter</url-pattern>
</servlet-mapping>
</web-app>
Of course you will want to update your servlet class to the package name you created