springmvc框架的简单登陆入门

9 篇文章 0 订阅
2 篇文章 0 订阅

springmvc的简介:

SpringMVC是一款优秀的基于MVC思想的应用框架,它是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。

SpringMVC和Struts2的区别:

  1. springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。
  2. springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
  3. Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Jsp视图解析器默认使用jstl。

springMVC框架的简单配置:

导包:由于没实现具体功能,因此只导入以下的jar包,如有需要,需另外导包

.wen.xml配置拦截器,和struts2配置相差不大

<servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!--加载springMVC的核心配置文件-->
     <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>

上面的配置文件中,配置了springmvc核心文件的位置和名称,因此需要编写springmvc核心文件

核心配置文件里面包函约束、注解驱动、路径的前后缀,和spring 容器相差不大

<?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"> 
        
        <context:component-scan base-package="com.zhong.spring.controller"></context:component-scan>
        <context:component-scan base-package="com.zhong.spring.service"></context:component-scan>
          <mvc:annotation-driven/>
       <!-- 配置路径的前后缀 -->
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
            id="internalResourceViewResolver" scope="singleton">
       <!-- 前缀 -->
       <property name="prefix" value="/WEB-INF/jsp/" />
       <!-- 后缀 -->
       <property name="suffix" value=".jsp" />
     </bean>
</beans>

核心文件中需要配置注解文件的位置,因此编写Controller控制器,由于我实现的是,简单登陆,因此一个是跳转页面Controller 和登陆判断的Controller ,

package com.zhong.spring.controller;

import java.lang.annotation.Annotation;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.sun.javafx.sg.prism.NGShape.Mode;

@Controller
@RequestMapping("/hello")
public class Skip {
	
	@RequestMapping(value="/login")
	public String Login(){
		return "login";
	}
	@RequestMapping(value="/register")
	public String Register(){
		return "register";
	}
}

LoginController

package com.zhong.spring.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.zhong.spring.pojo.User;
import com.zhong.spring.service.Loginservice;
import com.zhong.spring.service.serviceImpl;

@Controller
@RequestMapping("/index")
public class LoginController {
	private Loginservice loginservice;
	
	@RequestMapping(value="/login")
	public String Login(HttpSession session,Model model, User user){
		System.out.println(user.toString());
		if(loginservice.Login(user)){
			session.setAttribute("user", user);
			return "main";
		}
		else return "login";
		
	}
	//此功能未实现
	@RequestMapping(value="/register")
	public String Register(HttpSession session,Model model ,User user){
		return "register";
	}
	
	public Loginservice getLoginservice() {
		return loginservice;
	}
	@Resource(name="serviceImpl")
	public void setLoginservice(Loginservice loginservice) {
		this.loginservice = loginservice;
	}
}

上面涉及一个简单的Service层,

service层,先编写一个接口然后,实现它

package com.zhong.spring.service;
import com.zhong.spring.pojo.User;
public interface Loginservice {
    public boolean Login(User user);
    public boolean Register(User user);
}
package com.zhong.spring.service;

import org.springframework.stereotype.Service;

import com.zhong.spring.pojo.User;
@Service("serviceImpl")
public class serviceImpl implements Loginservice{

	@Override
	public boolean Login(User user) {
		System.out.println(user.toString());
		if(user.getUname().equals("AYZXX")&&user.getUpassword().equals("AYZXX")){
			return true;
		}
		return false;
		
	}
	@Override
	public boolean Register(User user) {
		
		return true;
	}
}

以上就是Controller 和 Service 但是还缺一个简单的POJO类

package com.zhong.spring.pojo;

public class User {
	@Override
	public String toString() {
		return "User [Uname=" + Uname + ", Upassword=" + Upassword + ", repass=" + repass + "]";
	}
	private String Uname;
	private String Upassword;
	private String repass;
    set get 方法不写了
}

后面就是简单的JSP页面。

index.jsp

<body> 
    <a href="${pageContext.request.contextPath }/hello/login">登陆:</a>
    <br></br>
    <a href="${pageContext.request.contextPath }/hello/register">注册:</a>
</body>

login.jsp

<body>
       <form action="${pageContext.request.contextPath }/index/login" method="post" name="login">
           <table border="1" bordercolor="1" align="center">
               <tr> 
                   <td>姓名:</td>
                   <td><input class="textSize" type="text" name="Uname" value="${Uname} "/></td>
               </tr>
               <tr> 
                  <td>密码:</td>
                  <td><input class="textSize" type="text" name="Upassword" value="${ Upassord}"/></td>
               </tr>
               <tr> 
                  <td><input type="submit" value="登陆 " align="left"/></td>
               </tr>
           </table>
       </form> 
</body>

register.jsp  main.jsp (功能未实现)

总体的目录结构:

实现的效果:

进入main.jsp页面。

总结:spring框架总体有大概的印象,执行流程了解一点。

源码下载

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值