Spring mvc 跳转后路径问题,求解,

lk_Session 2014-01-20 06:10:44
Spring mvc跳转后路径找不到了
1、控制层

package com.scms.admin.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.scms.dao.service.ILoginService;
import com.scms.model.Admin;
@Controller
@RequestMapping("/login")
public class LoginController {
@Resource
public ILoginService loginService;

// 登陆功能
@RequestMapping(value = "/loginS", method = RequestMethod.POST)
public String loginS(Model model, HttpSession session, String username,
String password, String yzm) {
String kaptchaExpected = (String) session
.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
Admin admin = loginService.LoginS(username, password);
if (admin==null) {
model.addAttribute("MessError", "用户名与密码不正确!");
return "Admin/login";
} else if (!(kaptchaExpected.equals(yzm)) && kaptchaExpected != yzm) {
model.addAttribute("MessError", "验证码不正确!");
return "Admin/login";
} else {
return "Admin/main";
}
}

}


2、servlet.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" 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/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
<!-- 静态文件 -->
<mvc:resources location="/static/" mapping="/static/**" />
<mvc:annotation-driven />
<!--注解说明 -->
<context:annotation-config />
<!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="com.scms.admin.web" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 请求映射 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<!--在这里配置后缀名jsp和视图解析器。。 -->
<bean id="viewResolverCommon"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
<property name="ViewClass">
<value>org.springframework.web.servlet.view.InternalResourceView</value>
</property>
<property name="order" value="1"></property>
</bean>
<!-- FreeMarker视图解析 。在这里配置后缀名ftl和视图解析器。。 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="cache" value="true"/>
<property name="suffix" value=".ftl" />
<property name="order" value="0"/>
</bean>
<!-- 配置FreeMarker模板路径 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/view/</value>
</property>
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
<property name="defaultEncoding">
<value>utf-8</value>
</property>
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">3600</prop>
</props>
</property>
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>
</beans>

3、
看我的文件在WEB-INF下
4、接下来看我的路径
<IFRAME style="OVERFLOW: visible" id="main" name="main" src="default.jsp" frameBorder=0 width="100%" scrolling="yes" height="100%"></IFRAME>

default.jsp找不到了,
登陆后的路径是http://localhost:8080/XXXX/login/loginS
结果我的顾名思义我的default.jsp的路径就成HTTP Status 404 - /XXXX/login/default.jsp这样子了。
我的defalut.jsp在WEB-INF下。绝对路径访问不好吧?
...全文
859 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
juicy7005 2014-01-27
  • 打赏
  • 举报
回复
引用 6 楼 yl0706401049 的回复:
你还要写个Controller,通过该Controller单独跳转你的jsp。如 @RequestMapping("/default") public String default() { return "Admin/default"; } 而且在WEB-INF下面的文件是安全的,是不能直接访问的
正解
wanding_ 2014-01-24
  • 打赏
  • 举报
回复
你还要写个Controller,通过该Controller单独跳转你的jsp。如 @RequestMapping("/default") public String default() { return "Admin/default"; } 而且在WEB-INF下面的文件是安全的,是不能直接访问的
lk_Session 2014-01-23
  • 打赏
  • 举报
回复
lk_Session 2014-01-23
  • 打赏
  • 举报
回复
lk_Session 2014-01-21
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
return "Admin/login";你这样写,他会找login.jsp 这样写src="default.jsp",他是相对于iframe的父页面,是相对于当然目录下的,所以会到/XXXX/login下找这个页面的。
知道啊,我想知道解决办法。
  • 打赏
  • 举报
回复
return "Admin/login";你这样写,他会找login.jsp 这样写src="default.jsp",他是相对于iframe的父页面,是相对于当然目录下的,所以会到/XXXX/login下找这个页面的。
[ 2021年,将Spring全家桶的课程进行Review,确保不再有顺序错乱等问题导致学员看不懂内容,进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并开始逐步增加高阶的Spring Security等内容,课件将逐步进行上传,敬请期待! ]本课程是Spring全家桶案例精讲课程的第二部分Spring MVCSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Java Spring的Web知识点,主要是关于Spring MVC的应用,包含:表单的增删改查、国际化、过滤器、拦截器、日志Log4j2及slf4j的使用、主题更改网站皮肤及样式、文件上传等的案例讲解,并且最后以一个SSM(Spring+Spring MVC+Mybatis)贯穿前后台的案例作为Spring MVC课程的终奖, 从而使大家快速掌握Spring的基础核心知识,快速上手,为面试、工作等做好充足准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。 【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVCSpring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验 【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧