作者lueichun (= =)
看板java
标题[问题] 要进入一个使用JSF写的xhtml档,跳出404
时间Fri Jan 1 22:48:04 2021
※状况概述:
我在某个专案内新增一个index.xhtml档,然後输入url想要进入该档案的页面:
http://localhost:8080/TestJPAProject2/index.jsf
※程式码:
web.xml长这样:
<display-name>TestJPAProject2</display-name>
<context-param>
<param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
<param-value>true</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>*.jsf</url-pattern>
</servlet-mapping>
---------------------------------------
index.xhtml:放在TestJPAProject2/src/main/webapp底下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml"
xmlns:f="
http://java.sun.com/jsf/core"
xmlns:h="
http://java.sun.com/jsf/html">
<head>
<title>Test JSF</title>
</head>
<body>
<h:form>
<h:commandButton value="query" action="#{testAction.query()}" />
</h:form>
<h:dataTable value="#{testAction.customerList}" var="customer">
<h:column>
<f:facet name="header">customerId</f:facet>
#{customer.customerId}
</h:column>
<h:column>
<f:facet name="header">name</f:facet>
#{customer.name}
</h:column>
<h:column>
<f:facet name="header">countryId</f:facet>
#{customer.countryId}
</h:column>
</h:dataTable>
</body>
</html>
※错误讯息:
页面显示
HTTP Status 404 ? Not Found
Type Status Report
Message /TestJPAProject2/index.jsp
Description The origin server did not find a current representation for the
target resource or is not willing to disclose that one exists.
※补充说明:看错误讯息似乎是server要找index.jsp但找不到
但我的专案里面并没有index.jsp这个档案,而且输入的url是index.jsf而非index.jsp
那为何会变成去找index.jsp呢?
那要如何调整,才能让server去找index.xhtml呢
又若是输入
http://localhost:8080/
则可以正常进入server预设页面。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.19.54 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1609512487.A.F6B.html
1F:→ fgh81113: url-pattern 只和 request 有关 response 要看你java里 01/02 13:13
2F:→ fgh81113: 面写了怎麽response 01/02 13:13
结果是我WEB.XML放到WEBContent里面,把web.xml放到这里面似乎会读取不到,
所以要先关闭server
然後web.xml应该要移到webapp底下的WEB-INF资料夹里面,然後WEBContent资料夹整个砍掉
接着对server重新Clean,再将server内的专案移出去再放进来。
重启server後即可执行该jsf档。
※ 编辑: lueichun (1.167.40.176 台湾), 01/02/2021 14:56:01