Java: HTTP Status 500 – Internal Server Error

Boa tarde pessoal.
Obrigado desde já a todos pela ajuda.
Estou iniciando o aprendizado em programação para web java EE. Estou utilizando como servidor o tomcat versão 8.5. Estou construindo uma aplicação web seguindo um tutorial. Me deparei com o seguinte erro quando rodo a aplicação:

# HTTP Status 500 – Internal Server Error

Type Exception Report

Message Servlet.init() for servlet [Faces Servlet] threw exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Servlet.init() for servlet [Faces Servlet] threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:835)

Root Cause

java.lang.IllegalStateException: Could not find backup for factory javax.faces.context.FacesContextFactory. javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1135) javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379) javax.faces.webapp.FacesServlet.init(FacesServlet.java:350) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:835)

Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/8.5.46

Gostaria de saber se alguém pode me ajudar a decifrar esse erro aqui por favor.

Fiz a adição de duas bibliotecas:

jsf-api.jar
jsf-impl.jar

Agora o erro é outro. Observe.

HTTP Status 500 – Internal Server Error

Type Exception Report

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

java.lang.UnsupportedOperationException javax.faces.context.FacesContext.getAttributes(FacesContext.java:176) org.primefaces.context.PrimeRequestContext.setCurrentInstance(PrimeRequestContext.java:95) org.primefaces.context.PrimeFacesContext.(PrimeFacesContext.java:49) org.primefaces.context.PrimeFacesContextFactory.getFacesContext(PrimeFacesContextFactory.java:59) javax.faces.webapp.FacesServlet.service(FacesServlet.java:635) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/8.5.46