- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这让我发疯。请帮忙。
我是 Spring 的新手,我使用 sts/eclipse 开发了我的第一个 spring mvc web 应用程序。它在 eclipse 的 tomcat 服务器中完美运行。
应用程序上下文是 /realtyguide
我在 eclipse 中运行它在 http://localhost:8080/realtyguide/
这是我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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" version="2.4">
<display-name>Realty Guide</display-name>
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Handles Spring requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
这是我的 root-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
</beans>
这是我的 Spring 应用程序 servlet 配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<context:annotation-config />
<!-- Scans within the base package of the application for @Components to configure as beans -->
<context:component-scan base-package="com.springproject.realtyguide" />
<!-- Enables the Spring MVC @Controller programming model -->
<mvc:annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources -->
<mvc:resources mapping="/resources/**" location="/resources/"/>
<!-- Allows for mapping the DispatcherServlet to "/" by forwarding static resource requests to the container's default Servlet -->
<mvc:default-servlet-handler/>
<!-- Bean to provide Internationalization -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="WEB-INF/i18n/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="classpath:META-INF/spring/database.properties" />
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
p:password="${jdbc.password}" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>classpath:META-INF/hibernate.cfg.xml</value>
</property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<!-- Enable the configuration of transactional behavior based on annotations -->
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- __________ BEAN ENTRIES FOR TILES 2 -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layouts/tiles.xml</value>
</list>
</property>
</bean>
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" >
<property name="order" value="0"/>
<property name="viewClass">
<value>org.springframework.web.servlet.view.tiles2.TilesView </value>
</property>
<property name="requestContextAttribute" value="requestContext"/>
<property name="viewNames" value="*.tiledef"/>
</bean>
<bean id="jstlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="1"/>
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- __________ END OF BEAN ENTRIES FOR TILES 2 -->
<!-- Resolves localized <theme_name>.properties files in the classpath to allow for theme support -->
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
<property name="basenamePrefix" value="theme-" />
</bean>
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
<property name="defaultThemeName" value="standard" />
</bean>
</beans>
这是我的 Controller 的根处理程序方法
@RequestMapping(value = "/", method=RequestMethod.GET)
public String setupForm(
@ModelAttribute("searchFormBean") SearchFormBean searchFormBean,
Model model) {
model.addAttribute("searchFormBean", searchFormBean);
// 'index' is a Tile definition in tiles.xml
return "index.tiledef";
}
这是我的虚拟主机 tomcat/conf/server.xml
我删除了大部分“注释掉”的内容以使其更短。
<?xml version="1.0" encoding="UTF-8"?>
<Server port="9200" shutdown="SHUTDOWN">
<!-- Comment these entries out to disable JMX MBeans support used for the
administration web application -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" readonly="true" />
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9201" maxHttpHeaderSize="8192"
maxThreads="10" minSpareThreads="5" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="9203"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
调出位于 example.com
的站点的索引页面,不要在域名后添加额外的 /.../
。
在共享 Webhost 上部署为虚拟主机的根:
我在 stackoverflow 上读到我需要以 root 身份部署,所以...
我通过以下方式将其打包在 STS/Eclipse 中:右键单击项目“realtyguide”> Run as > Maven package
Webhost 服务器是私有(private)的 Tomcat 5.5。我在我的虚拟主机上部署了 war 文件(解压缩)作为虚拟主机的默认应用程序(在 server.xml 中使用 Context path = ""
)所以我可以访问该网站 example.com
而不是 example.com/realtyguide
。
成功。或者我是这么想的。我能够在 http://example.com/
访问索引页引用的其他网页返回404错误:
The requested URL /realtyguide/page-name was not found on this server
即使浏览器地址栏显示完整 URL 的上下文路径 http://www.example.com/ realtyguide/page-name
我认为该应用绕过了 spring dispatcher servlet,因此无法识别请求 URL 中的上下文路径“realtyguide”——导致 404 错误。
我不知道如何处理这个问题。
问题:
如何在不破坏应用程序的情况下调出位于 example.com
而不是 example.com/realtyguide/
的网站索引页?我已经尝试将 index.jsp 文件(在 WEB-INF 中)转发到上下文路径的索引,但它没有解决问题。也许我做错了。
是否有某种转发机制可供我使用,以便站点访问者输入 example.com
并立即转发到位于 example.com/realtyguide/< 的索引页面
以便应用程序处理所有 URL?
我是否以正确的方式思考问题?您以前使用过任何解决方案吗?
非常感谢您的帮助。感谢您的宝贵时间。
最佳答案
您需要将您的 Web 应用程序设为 Tomcat 的默认 Web 应用程序。说明在这里:
完成后,最简单的方法就是使用 index.jsp 转发到 Spring 应用程序的索引。
WAR 根目录中包含以下内容的 index.jsp 文件应该执行此操作:
<jsp:forward page="/realtyguide/" />
关于java - Spring Web MVC 404 错误——以 root 身份部署在 webhost Tomcat 服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056932/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this q
在 docs.microsoft 上的以下帖子的帮助下,我正在从 ASP.NET Core 1.x 迁移到 v2.0: https://learn.microsoft.com/en-us/aspnet
虚拟主机服务,提供一种既便宜又简单的方式,使企业或个人在网路上尽情展示自己公司的形象、产品。您不但能马上拥有专属的独立网址,又能省下单独承受购买网路伺服器、专线架设及资讯工程人员等庞大成本。透过虚拟
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我在负载均衡器后面部署了一个 WCF 服务,当我尝试使用 SOAP 访问它时,它工作得很好,但是当我尝试通过 REST url 访问它时,我收到下面提到的错误。 这是我尝试通过 https://dev
在本地主机上这效果很好。但是当我将文件上传到服务器时,我收到此错误: 警告:mysql_num_rows():提供的参数不是第 54 行/storage/content/04/13fd39104/xx
我现在花了很多时间来配置我的代理。目前,我使用一项名为 proxybonanza 的服务。他们为我提供了一个代理,我用它来获取网页。 我正在使用 HTMLAGILITYPACK 现在,如果我在没有代理
我使用免费的虚拟主机 000webhost。该服务还可以,但它会在每个文件和请求中插入一些 javascript 计数器。脚本如下所示。 如果我做一个 jquery post 它会破坏我的代码
在我的 Program.cs Main 方法中,我想读取 user secrets ,配置记录器,然后构建 WebHost。 public static Main(string[] args) {
我经常使用 WebHost.CreateDefaultBuilder(args) 在我的 ASP.NET Core 应用程序上启动我的 kestrel 服务器,args 从命令行获取。我无法在任何地方
将 MVC 网页部署到我的 IIS 后,出现以下错误: Could not load file or assembly 'System.Web.Http.WebHost, Version=4.0.0.
尝试关注@matthoneycutt的tutorial on Azure IoT Hub这好像是Microsoft.Azure.WebHosts.JobHostConfiguration 在 3.0.
我仍在寻找可用于我的虚拟主机提供商服务器 (one.com) 的搜索引擎,但仍未找到。 我听说 Sphinx 很棒,运行它有哪些要求? 说明书看了,不多说了,感觉应该可以吧...只是想先请教专业人士。
我正在寻找一种方法来显示从虚拟主机到 Windows 边栏小工具的信息列表。我可以看到一个使用 iframe 的解决方案,但我知道实际使用它并不是一个聪明的主意。我读过有一种方法可以使用某种 java
从 .NET Core 2.0 升级到 .NET Core 2.1 错误WebHostBuilder 只允许创建单个 WebHost 实例 程序.cs namespace WebApp1 {
我只是想了解 webapi、webhost (iis) 和 owin 之间的关系。我把我目前的理解写下来,请大家告诉我是否正确。 Webapi,与 MVC 不同,是以独立于主机的方式编写的。那是在欧文
我有一个 ASP.NET Core 应用程序,我想在其中隐藏启动应用程序时显示的控制台行(因为我有自己的欢迎消息) Hosting environment: Development Content r
我使用 Code Ignitor 和 MySQL 创建了一个网站,并希望将所有内容上传到 000webhost.com 我该怎么办: 将我的模型、 View 和 Controller 上传到 000w
如描述所述,由于某种原因,解决方案突然找不到 System.Web.Http.WebHost。 最佳答案 通过安装 NuGet Microsoft.AspNet.WebApi.WebHost 解决了这
我是一名优秀的程序员,十分优秀!