我是靠谱客的博主 靓丽水杯,最近开发中收集的这篇文章主要介绍用SpringMVC框架做一个登录页面的思路和步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先来说说思路,用Springmvc框架做一个登录页面所需要什么,一个是Controller文件,一个是映射文件,一个是pom.xml文件,一个是JSP页面,还有一个就是web.xml文件,把这些文件写好,你就可以完成一个简单的登录页面。

再来说说步骤:
第一,遵循SpringMVC六步配置,做好来,参考如下:
先配置好基本配置,web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- 1.配置DispatherServlet,核心控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 404异常 -->
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<!-- 500异常 -->
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
</web-app>

Springmvc.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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 2.配置HandlerMapping -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<!-- 文件下载时,配置不截取url后缀-->
<property name="useSuffixPatternMatch" value="false"/>
</bean>
<!-- 3.配置HandlerAdapter -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>-->
<!--
mvc的注解驱动,用来简化配置
默认会加载许多内置的类型转换器,如果要使用自定义的类型转换器,需要自己指定
-->
<mvc:annotation-driven conversion-service="conversionService">
<!-- 配置消息转换器 -->
<mvc:message-converters>
<!--<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>-->
<!--<bean class="org.springframework.http.converter.json.GsonHttpMessageConverter"/>-->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json;charset=utf-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- 4.配置Handler -->
<context:component-scan base-package="controller"/>
<!-- 5.配置ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
<!-- 6.配置View,如果使用的是jsp视图技术,可以省略不写 -->
<!--<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />-->
</bean>
<!-- 使用tomcat提供的默认Servlet处理静态资源 -->
<!--<mvc:default-servlet-handler/>-->
<mvc:resources mapping="/image/**" location="/WEB-INF/img/"/>
<mvc:resources mapping="/css/**" location="/WEB-INF/css/"/>
<mvc:resources mapping="/js/**" location="/WEB-INF/js/"/>
<mvc:resources mapping="/images/**" location="/images/"/>
<!-- 直接访问jsp页面 -->
<mvc:view-controller path="/userLogin" view-name="login"/>
<mvc:view-controller path="/showRegist" view-name="regist"/>
<mvc:view-controller path="/showAjax" view-name="ajax"/>
<mvc:view-controller path="/showFile" view-name="file"/>
<!-- 管理自定义转换器 -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="converter.String2AddressConverter"/>
<bean class="converter.Address2StringConverter"/>
</set>
</property>
</bean>
<!-- 配置拦截器 -->
<mvc:interceptors>
<!-- 拦截所有请求 -->
<bean class="interceptor.HelloInterceptor"/>
<!-- 拦截指定请求 -->
<mvc:interceptor>
<mvc:mapping path="/user/regist"/>
<mvc:mapping path="/login"/>
<mvc:mapping path="/path/*"/>
<mvc:exclude-mapping path="/path/test7"/>
<bean class="interceptor.TimerInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
<!-- 配置文件解析器,id名称必须为multipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSizePerFile" value="5000000"/>
</bean>
</beans>

为了省事,我全部代码都复制过来了,具体有用的是其中的几条,我没整理,你们自己看看吧。

接下来重点就在JSP页面该如何设置了,先看看我这个配置:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css">
<script src="${pageContext.request.contextPath}/js/hello.js"></script>
</head>
<body>
<h2>用户登陆</h2>
<span style="color:red">${loginError}</span>
<form action="${pageContext.request.contextPath}/param/test9" method="post">
用户名:<input type="text" name="username"> <br>
密码:<input type="password" name="password"> <br>
<input type="submit" value="登陆">
</form>
<img src="${pageContext.request.contextPath}/images/springMVC.JPG">
</body>
</html>

这里可以先看看,其中有css和js页面,这些都是需要导入进来,如果不需要也可以不要这部分(我也是没有要这部分),然后看到这一段<span style="color:red">${loginError}</span>这是一个插入方法,也就是说如果在Controller文件那里触发了一个关于该方法的if条件,这个方法就会被调用,插入到JSP页面中并且显示出来。在占位符里面的名字与Controller里面的if方法的指定名字是一样的。

<form action="${pageContext.request.contextPath}/param/test9" method="post">

在这个方法里面,param/test9这个是Controller文件里面的RequestMapping的地址,如果JSP有这个就可以直接调用相关的Controller文件方法,
而且这里需要注意一点,用户名和密码的name要和Controller文件里的name要对应,而且不能重复,这样才能让Controller文件准确判断前端传入的name符不符合正确的用户名和密码。

最后看看Controller文件怎么写:

package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class LoginController {
@RequestMapping("/login")
public ModelAndView login(String username,String password){
ModelAndView mav=new ModelAndView();
if("admin".equals(username)&&"123".equals(password)){
mav.addObject("username",username);
mav.setViewName("success");
}else{
mav.addObject("loginError","用户名或密码错误");
mav.setViewName("login");
}
return mav;
}
}

注意name要和JSP那边的name一样就行,setViewName是返回JSP的视图名字

最后

以上就是靓丽水杯为你收集整理的用SpringMVC框架做一个登录页面的思路和步骤的全部内容,希望文章能够帮你解决用SpringMVC框架做一个登录页面的思路和步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部