Spring 4MVC簡單操作實現登錄

這裏簡單的使用一下Spring 4MVC框架。Spring 4MVC相較於Struts2,避免了Struts2的種種缺點,在功能及代碼效率上進行了增強與優化與增強。這裏使用Spring 4MVC實現簡單的登錄功能【基於註解】。開發環境是:Ecplise + jdk1.7 +tomcat7.0 + Spring4MVC

  • 首先下載Spring 4MVC所必須的jar包:官方網站是:spring官方網站
  • 新建web項目,將下載的jar包導入
  • 在web.xml中配置spring 4mvc的核心控制器DispatcherServlet,它是處理request請求的核心,它的真正父類是HttpServlet

        <servlet>
		<servlet-name>springMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMVC</servlet-name>
		<url-pattern>*.spring</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>login.jsp</welcome-file>
	</welcome-file-list>
上面的配置實現的效果和Struts2中的核心過濾器實現的效果是相同的,URL中以.spring爲後綴訪問服務器,就把這個請求交給DispatcherServlet對象來處理,Spring 4MVC框架還要在項目的WEB-INF文件夾中找springMVC-servlet.xml配置文件,所有的bean和配置定義都要在這個文件中

  • 新建springMVC-servle.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">
        
        <!-- 掃描包名爲controller包下的類 -->
	<context:component-scan base-package="controller" />
	<!-- 它的功能就是默認訪問的是 / 根路徑 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" />
</beans>
<context:component-scan base-package="b" />的作用是在那個包中掃描帶有@Controller的控制層java文件,如果找到,則說明該java是控制層,並參與處理request
和response對象

  • 新建相關的jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<!DOCTYPE>
<html>
	<head></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="提交"/><br>
		</form>
	</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>登錄成功</title>
</head>
<body>
	ok page,恭喜:${username}
</body>
</html>

  • 新建控制層文件

這一層是最關鍵的組件:

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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @Controller註解代表本類是Controller控制層
 * @author acer
 */
@Controller
public class Login {

    /**
     * @RequestMapping("/login") 該註解的作用是通過指定的url來訪問本方法
     * @RequestParam("username") 該註解的作用是根據參數名從url中取值,url中同名的參數將自動提交給控制層方法中同名的參數,
        *可以不用@RequestParam("username")註解
     * @param model 它的作用相當於往request對象中放入數據
     * @return
     */

       /**              
        * @RequestMapping(value = "/login",method=RequestMethod.GET)的作用是設置方法的名稱,並且限制提交的方式爲GET方法,同理可以限制爲POST,也可以不限
     * 這樣,不論是什麼提交方式都可以調用。
     */

@RequestMapping(value = "/login1",method=RequestMethod.GET)    public String login(@RequestParam("username")String username,            @RequestParam("password")String password,Model model){        if(username.equals("pangjianfei") && password.equals("liulin"))
{            model.addAttribute("username", username);            return "ok.jsp";        }else{            return "fail.jsp";        }    }} 

部署並運行,可以看到運行結果,這個是最簡單的登錄。



發佈了71 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章