SpringMVC 實現用戶登錄實例代碼
SpringMVC的一個登陸小案例
準備工作
- 創(chuàng)建一個Dynamic Web Project(本人是Eclipse)
- 添加相關的jar包,構建路徑
- 創(chuàng)建springMVC-servlet.xml,及完善web.xml
- 創(chuàng)建代碼邏輯
目錄結構如下
對于新手而言,有一個項目的完整的目錄結構是多么幸福的一件事啊。
目錄結構

個人建議:注意其中的springMVC-servlet.xml的位置。以及源代碼包的名稱。
代碼實戰(zhàn)
首先是大管家,web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>SpringTest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.spring</url-pattern>
</servlet-mapping>
</web-app>
然后是小管家springMVC-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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<!-- 最簡單的配置,讓Spring自己去探索-->
<context:component-scan base-package="controller"></context:component-scan>
</beans>
再就是一個登陸界面了,login.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陸界面</title>
</head>
<body>
<form action="login.spring" method="post">
username:<input type="text" name="username"><br /> Password:<input
type="password" name="password"><br /> <input type="submit"
value="登陸">
</form>
</body>
</html>
login.jsp對應的那個action就是要進行處理的后臺頁面,也就是我們的Login.Java:
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller // @Controller 代表本Java類是controller控制層
public class Login {
/**
* @RequestParam注解的作用是:根據參數名從URL中取得參數值
* @param username
* 用戶名,一定要對應著表單的name才行
* @param password
* 用戶密碼,也應該對應表單的數據項
* @param model
* 一個域對象,可用于存儲數據值
* @return
*/
@RequestMapping("/login") // @RequestMapping 注解可以用指定的URL路徑訪問本控制層
public String login(@RequestParam("username") String username, @RequestParam("password") String password,
Model model) {
if (username.equals("admin") && password.equals("admin")) {
model.addAttribute("username", username);
return "ok.jsp";
} else {
model.addAttribute("username", username);
return "no.jsp";
}
}
}
最后就是ok.jsp和no.jsp了:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<font color="green">${username } </font>歡迎你!
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<font color="red">Sorry</font>,沒有${username }這個用戶!
<br />
<a href="login.jsp" rel="external nofollow" >重試一下!</a>
</body>
</html>
測試
在你的瀏覽器上輸入http://localhost:8080/SpringTest/login.jsp
然后就可以對代碼進行測試了。本人親測好用,這里就不再貼圖了。
總結
- 在web.xml中配置DispatcherServlet核心控制器
- 在WEB-INF文件夾中創(chuàng)建springMVC-servlet.xml配置文件
- @Controller、@RequestMapping、@RequestParam以及Model域對象等的使用
- 表單以post方式,或者使用get方式都是可以的
下面是注解的小技巧:
@Controller就是對應于springMVC-servlet.xml中的
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
springboot中@ConfigurationProperties無效果的解決方法
本文主要介紹了springboot中@ConfigurationProperties無效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06
Javascript和Java語言有什么關系?兩種語言間的異同比較
雖然Javascript與Java有緊密的聯(lián)系,但卻是兩個公司開發(fā)的不同的兩個產品。那么js和java有什么關系,兩種語言的不同點是什么呢?介于這兩個問題,小編一起給大家解答下2016-09-09
Eclipse中Properties和yml配置文件注釋亂碼的解決
這篇文章主要介紹了Eclipse中Properties和yml配置文件注釋亂碼的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

