😀前言
本文是SpringMvc专栏的SpringMVC快速入门加登录流程分析
🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💝SpringMVC快速入门加登录流程分析
💓SpringMVC-快速入门
● 需求说明: 完成一个最基本的测试案例,登录案例, 使用 SpringMVC完成
😀SpringMVC 登录流程分析
🥰SpringMVC 登录-代码实现
- 创建 springmvc web 工程并配置 tomcat, 前面我们学习过忘记了或者不知道的可以看我的发过的博客 链接
- 导入 SpringMVC 开发需要的 jar
创建 src/applicationContext-mvc.xml 文件
(就是 spring 的容器文件),文件名自己定
<!--配置自动扫描包--> <context:component-scan base-package="com.hspedu.web"/> <!--配置视图解析器[默认视图解析器]--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--配置属性suffix 和 prefix--> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> <!--调整优先级--> <property name="order" value="10"/> </bean>
配置 WEB-INF/web.xml
<servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--解读 1. 如果我们没有配置 contextConfigLocation 2. 默认按照这样的位置去定位spring配置文件 /WEB-INF/springDispatcherServlet-servlet.xml --> <!--配置属性 contextConfigLocation, 指定DispatcherServlet 去操作的spring配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-mvc.xml</param-value> </init-param> <!--在web项目启动时,就自动的加载DispatcherServlet--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <!--说明 1. 这里我们配置的url-pattern是 / ,表示用户的请求都经过 DispatcherServlet 2. 这样配置也这次rest 风格的url请求 --> <url-pattern>/</url-pattern> </servlet-mapping>
创建login.jsp
这里需要们回顾一下javaweb web工程路径专题
如果不知道或者忘记了 请看我之前写的博客 链接
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> </head> <body> <h3>登录页面</h3> <%--后面我们再填写action 这里需要们回顾一下javaweb web工程路径专题 1. action="login" 表示的url 是 http://localhost:8080/springmvc/login 2. action="/login" 表示的url 是 http://localhost:8080/login --%> <form action="login"> u:<input name="username" type="text"> <br/> p:<input name="password" type="password"><br/> <input type="submit" value="登录"> </form> </body> </html>
创建UserServlet.java类
- 如果我们使用了SpringMVC, 在一个类上标识@Controller
- 表示将该类视为一个控制器,注入到容器
- 比原生servlet开发要简化很多
@Controller public class UserServlet { //编写方法,响应用户的请求 @RequestMapping(value = "/login") public String login() { System.out.println("login ok......."); return "login_ok"; } }
解读
- login() 方法是用于响应用户的登录请求
- @RequestMapping(value = “/login”)
类似我们以前在原生的Servlet配置 url-pattern, 就是给方法配置一个url映射
- 即当用户在浏览器输入 http://localhost:8080/web工程路径/login 就能够访问到login()
- return “login_ok”;
表示返回结果给视图解析器(InternalResourceViewResolver), 视图解析器会根据配置,来决定跳转到哪个页面
根据上面的配置 return “login_ok”; 就是转发到 /WEB-INF/pages/login_ok.jsp
创建login_ok.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录成功</title> </head> <body> <h1>恭喜 登录成功!</h1> </body> </html>
完成登录测试
🤗注意事项和细节说明
- 重点学习如何搭建一个 springmvc 项目,初步理解 springmvc 工作流程
- 这里的 UserServlet 需要注解成@Controller ,我们称为一个 Handler 处理器
- UserServlet 指定 url 时,还可以这样
- 关 于 SpringMVC 的 DispatcherServlet 的配置文件
如果不在 web.xml 指 定
applicationContext-mvc.xml, 默认在 /WEB-INF/springDispatcherServlet-servlet.xml 找这个配置文件【简单看下 DispatcherServlet 的源码】。(推荐使用, 我们做下修改 , 并完成测试)
修改 web.xml, 注init-param 配置节点
<servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 1. 如果我们没有配置 contextConfigLocation 2. 默认按照这样的位置去定位spring配置文件 /WEB-INF/springDispatcherServlet-servlet.xml --> <!--配置属性 contextConfigLocation, 指定DispatcherServlet 去操作的spring配置文件--> <!--<init-param>--> <!-- <param-name>contextConfigLocation</param-name>--> <!-- <param-value>classpath:applicationContext-mvc.xml</param-value>--> <!--</init-param>--> <!--在web项目启动时,就自动的加载DispatcherServlet--> <load-on-startup>1</load-on-startup> </servlet>
剪切原 applicationContext-mvc.xml 到 /WEB-INF目录下,
文件名为:你配置的DispatcherSerlvet 名 字 -servlet.xml
😄总结
springMVc的置文件[applcationContet-mvcxmI因为sprineMVc是基于spring的,因此工作原理spring类似
文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞