idea SpringMVC jsp跳转controller的链接会丢失项目名称的问题

使用SpringMVC 注解时,特别是使用两层注解后,在触发事件后,页面跳转后会丢失项目名

1.我的项目名为【Test】


2.项目的整体逻辑是 项目启动调用register方法(get类型)———>registerForm(.jsp)---->register方法(post类型)----->loginForm(.jsp)----->login方法(post类型)----->welcome(.jsp)

我的Controller类和所有配置均没错,在启动后,根据映射请求


controller 类

跳转之后,项目名【Test】不见了


这是怎么回事?

1.Jsp文件不全

<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

这个语句是用来拼接当前网页的相对路径的。

<base herf="...">从来表明当前页面的相对路径所使用的根路径,也就是项目名称

比如,页面内部有一个连接,完整的路径应该是 http://localhost:8080/Test/user/user_info.jsp
其中http://server/是服务器的基本路径,Test是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:80/Test/。

 

<base href="<%=basePath%>">

用这个base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。

  1.request.getSchema();可以返回当前页面所使用的协议,就是"http"

  2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的"localhost"

  3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的"8080"

  4.request.getContextPath();返回当前页面所在的应用的名字


补全这两个文件。

2.问题出现在调用方法时映射路径写错了。


action这个加了“/ ” servlet 会根据这个,将user认为是项目名,去找user项目下的这个页面,当然无法跳转显示,只要去掉“/”,写成 action=“user/register”即可。

修改后,程序完美运行



  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
IDEA是一种常用的集成开发环境,可以用来搭建Spring MVC项目。首先,你需要创建一个新的项目,并选择相应的配置。然后,你需要配置项目的层级结构,并添加一个本地的Tomcat服务器来启动项目。接下来,你可以启动项目并进行开发。Spring MVC框架是一种基于MVC模式的框架,通过DispatcherServlet来处理请求并将其派发到相应的处理器。你可以通过配置handler mappings、view resolution、locale和theme resolution来处理请求并转到对应的视图。在IDEA中,你可以通过导入Spring MVC相关的类库,添加Controller,修改url-pattern和dispatcher-servlet.xml配置文件,配置ViewResolver,添加视图文件,以及通过Model向View传值来完成Spring MVC项目的搭建和开发。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [IDEA搭建springMvc项目](https://blog.csdn.net/lxw983520/article/details/87218958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [idea创建SpringMVC项目](https://blog.csdn.net/C136C136/article/details/117320078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值