SSM框架是怎么接收表单的请求的,Tomcat报错

这是index.jsp的页面:
图片说明
提交后出现404错误:
图片说明
控制层代码:
图片说明
index.jsp(登录界面):
图片说明
项目结构:
图片说明
web.xml:

 <web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!-- 设置Spring容器加载配置文件路径 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!-- 加载Spring容器配置 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 防止内存泄漏的监听器 -->
  <listener>
    <listener-class>
      org.springframework.web.util.IntrospectorCleanupListener
    </listener-class>
  </listener>
  <!-- 配置Springmvc核心控制器 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springMVC.xml</param-value>
    </init-param>
  </servlet>
  <!-- servlet-mapping配置 -->
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

spring-mvc.xml:

     <!-- 注解Controller扫描器 -->
    <context:component-scan base-package="stu.controller"/>

    <!--&lt;!&ndash; 静态资源访问 &ndash;&gt;-->
    <!--<mvc:resources location="/img/" mapping="/img/**"/>-->
    <!--<mvc:resources location="/js/" mapping="/js/**"/>-->
    <!--<mvc:resources location="/jsp/" mapping="/common/**"/>-->

    <!-- 注解功能的默认配置,处理器和映射器 -->
    <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

    <bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

    <!-- 前后缀配置 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

小白,不是特别懂,求解

8个回答

访问不到主要是你的web.xml,dispatcher控制器访问方式,为/表示下一路径,/*匹配当前所有目录下,我一般用的是*.action,在你的
表单action="user/index.action"这样就可以访问啦

因为url中没加上你的项目名,/user/index是相对路径,相对于服务器的路径,所以在表单的action应为{pageContext.request.contentPath}/user/index
这样写之后url路径就会变成localhost:8080/xxx/user/index

zyq1013906061
岁月下的车辙 回复Forsaken12345: idea默认不支持el表达式,添加<@page ignoreEl=false>,好像是这么写的
大约 2 年之前 回复
m0_37928829
Forsaken12345 还是不对:org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI [/%7BpageContext.request.contentPath%7D/user/index] in DispatcherServlet with name 'springmvc'
大约 2 年之前 回复

扫描的路径有问题, 应该写成

你的Tomcat配置的项目的项目访问路径是啥呀,这/user/index之前加上就行了,比如:localhost:8080/xiangmuming/user/index

404说明你映射的action不对,或者你的地址不对。你修改任意一边,让它们匹配上就可以了。

    <!-- 前后缀配置 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

    /WEB-INF/jsp/ 这个是配置你访问路径的  他会在你的访问路径自动加上这个前缀 所以你访问的页面全都是在jsp包下面 

<!-- 注解Controller扫描器 -->
配置错了吧 不是应该 com.stu.controller 吗


springmvc
/*
这段配置加个*就行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问