qq_39783314 2020-03-26 10:44 采纳率: 0%
浏览 252

SSH无法访问Controller 层,index.jsp页面却能正常访问.

麻烦各位大佬看看
SpringMVC

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc  
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">  



    <context:component-scan base-package="cn.yunda.controller"/>

    <context:component-scan base-package="cn.yunda.service"/>

    <mvc:annotation-driven/> 

    <!-- 配置jsp的视图解析,可以不配置,已经自动生成,在这里只是添加了前缀和后缀,在控制器中return的时候少写一点代码而已 -->
    <bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
    <!-- 上传文件的时候使用的视图解析,如果有文件上传才需要配置 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设定上传文件总大小 -->
        <property name="maxUploadSize" value="500000" />
        <!-- 文件编码 -->
        <property name="defaultEncoding" value="UTF-8"/>
    </bean>

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" 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_3_0.xsd">
    <display-name>TestVue</display-name>
    <!-- 加载配置文件Jar包文件 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 载入配置xml配置文件 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 文件路径 -->
        <param-value>classpath:spring/application-hibernate.xml</param-value>
    </context-param>
    <!-- 编码格式控制  -->
    <filter>
        <!-- 定义名 -->
        <filter-name>encodingFilter</filter-name>
        <!-- 加载类 -->
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <!-- 输入编码值 -->
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <!--forceEncoding用来设置是否理会 request.getCharacterEncoding()方法  -->
            <param-name>ForceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <!-- 设置encodingFiler 的映射路径 -->
    <filter-mapping>
        <!-- 定义名 -->
        <filter-name>encodingFilter</filter-name>
        <!-- 路径 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>SpringMvc</servlet-name>
        <!-- DispatcherSevlet负责将请求分发,所有的请求都有经过它来统一分发。 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/application-hibernate.xml</param-value>
        </init-param>
        <!-- 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
        当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
        正数的值越小,启动该servlet的优先级越高。 -->
        <load-on-startup>1</load-on-startup>
      </servlet>
      <!-- 设置映射路径 -->
      <servlet-mapping>
        <servlet-name>SpringMvc</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
</web-app>

Controller 层

```package cn.yunda.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller(value="AppController")
public class AppController {

@RequestMapping(value="/login")
public String login() {
    System.out.println("进入页面");
    return "login";
}
@RequestMapping("/")
public String Home() {
    return "index";
}

}

  • 写回答

1条回答 默认 最新

  • 故事不长丨 2023-07-08 10:39
    关注

    根据您提供的代码和信息,可能存在以下问题和建议:

    1. 检查Controller类的命名和注解:确保Controller类注解@Controller标记在正确的位置,并且Controller类名称与注解中指定的值匹配。例如,对于AppController类,指定的注解值是value="AppController",请确保类名称为AppController

    2. 检查Controller类的包扫描:在Spring配置文件中,使用了<context:component-scan>进行包扫描,并指定了cn.yunda.controller作为扫描的基础包路径。请确保AppController类位于这个包路径下,且被正确扫描和注册为Spring的组件。

    3. 检查URL映射路径:在AppController中的@RequestMapping注解中,指定的URL路径应正确对应到你想要访问的Controller方法。例如,login方法的请求路径是/loginHome方法的请求路径是/(根路径)。

    4. 检查jsp页面的位置和文件名:在InternalResourceViewResolver中,配置了JSP视图解析器的前缀为/WEB-INF/jsp/,后缀为.jsp。请确保你的jsp文件位于该路径下,并且命名符合期望的格式。

    5. 检查Tomcat配置:确保Tomcat服务器配置正确,可以正确加载和部署应用程序。可以尝试重新部署应用程序,或者在控制台日志中查找任何错误或异常信息,以了解是否有其他方面的问题。

    6. 检查控制台输出:确保System.out.println()语句在Controller方法中正常打印。如果没有看到预期的控制台输出,可能是因为Controller方法没有被调用或访问。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)