Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC多模块jsp和控制器未正确映射_Java_Spring_Spring Mvc_Jsp - Fatal编程技术网

Java Spring MVC多模块jsp和控制器未正确映射

Java Spring MVC多模块jsp和控制器未正确映射,java,spring,spring-mvc,jsp,Java,Spring,Spring Mvc,Jsp,这是一个简单的SpringMVC多模块项目,这里我想通过操作“showlogin.do”从index.jsp发出请求,然后通过LoginController.java加载login.jsp 我正在尝试构建WAR文件,然后希望在Tomcat服务器上运行。在tomcat服务器上运行时,它显示index.jsp,但当我单击链接(showlogin.do)时,它会给出类似HTTP状态404的错误信息–未找到 URL– 在Tomcat中运行战争- 大宗报价 单击链接后,它将重定向到- 文件夹结构– 生物技

这是一个简单的SpringMVC多模块项目,这里我想通过操作“showlogin.do”从index.jsp发出请求,然后通过LoginController.java加载login.jsp

我正在尝试构建WAR文件,然后希望在Tomcat服务器上运行。在tomcat服务器上运行时,它显示index.jsp,但当我单击链接(showlogin.do)时,它会给出类似HTTP状态404的错误信息–未找到

URL–

  • 在Tomcat中运行战争-
  • 大宗报价

  • 单击链接后,它将重定向到-
  • 文件夹结构–

    生物技术测试[母公司]

    生物技术数据[存储库]

    Biotech service[service],pom.xml具有存储库的依赖性

    生物技术网站pom.xml具有服务依赖性

    index.jsp[生物技术网站:src/main/webapp/index.jsp]


    您的请求映射只有
    /showlogin
    ,它应该是
    /showlogin.do

    您好,谢谢您的回复。我尝试过这个@RequestMapping(“/showlogin.do”),但不起作用。
    <html>
    <body>
    <h3>WELCOME</h3>
    <a href="showlogin.do" target="_blank">Click here to login</a>
    </body>
    </html>
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    
      <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
    
        <servlet-mapping>
           <servlet-name>dispatcher</servlet-name>
           <url-pattern>*.do</url-pattern>
        </servlet-mapping>
    
    </web-app>
    
    <tiles-definitions>
        <definition name="baseTemplate" id="baseTemplate" template="/WEB-INF/layout/baselayout.jsp">
            <put-attribute name="title" value="Biotech"/>
            <put-attribute name="header" value="/WEB-INF/layout/jsp/header.jsp"/>
            <put-attribute name="body" value="${body}"/>
            <put-attribute name="footer" value="/WEB-INF/layout/jsp/footer.jsp"/>
        </definition>
        <definition name="login" id="login" extends="baseTemplate">
            <put-attribute name="body" value="/WEB-INF/jsp/login.jsp" />
            <put-attribute name="title" type="string" value="Login Page" />
        </definition>
    </tiles-definitions>
    
    <context:component-scan base-package="com.pack.controller" />
        <context:component-scan base-package="com.pack.services" />
        <context:component-scan base-package="com.pack.repository" />
    
        <mvc:annotation-driven />
        <context:annotation-config />
    
        <bean id="viewResolver"
            class="org.springframework.web.servlet.view.UrlBasedViewResolver">
            <property name="prefix" value="/jsp/" />
            <property name="suffix" value=".jsp" />
            <property name="viewClass">
                <value>
                    org.springframework.web.servlet.view.tiles2.TilesView
                </value>
            </property>
        </bean>
    
        <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
            <property name="definitions">
                <list>
                    <value>/WEB-INF/tiles.xml</value>
                </list>
            </property>
        </bean>
    
    package com.pack.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class LoginController {
    
        @RequestMapping("/showlogin")
        public String showlogin() {
            System.out.println("--------------login Controller----------");     
            return "login";
    
        }
    }