原生ssm登录页面

在这里插入图片描述
原生ssm搭建环境所需要的配置文件
(mapper的xml文件也可以放在这里)
在这里插入图片描述

在这里插入图片描述
web.xml文件是什么?有什么用?

一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程。web.xml主要用来配置Filter、Listener、Servlet,session等。但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件。

1、WEB工程加载web.xml过程

经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无关。即不会因为 filter 写在 listener 的前面而会先加载filter。WEB容器的加载顺序是:
ServletContext -> context-param -> listener ->filter -> servlet。并且这些元素可以配置在文件中的任意位置。

加载过程顺序如下:

启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取和两个结点。
紧接着,创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 容器将
转换为键值对,并交给servletContext。 容器创建中的类实例,创建监听器

  • 关于原生ssm框架的搭建,如果有时间的话再做

跳转登录页面

首先在Controller层
在这里插入图片描述


@Controller//需要注解声明Controller层
@RequestMapping("/admin/user")//窄化路径
public class UserController {
	//自动注入UserService
	@Autowired
	private UserService us;
	
	@RequestMapping("/login.action")
	public String login(){
		//WEB-INF/view/index.jsp 等同于内部转发
		return "index";
	}
	//validateLogin实现登录,跳转到项目主页
	@RequestMapping(value = "/login.action",method = RequestMethod.POST)
	public String validateLogin(Model model,HttpSession session, String username,String password) {
		/*
		ModelandView视图模型
		实现登录校验
		判断页面中输入的用户名和密码在数据库中是否存在
		需要controller层和service层进行连接
		*/
		User user = us.Validate(username, password);
		if (user!=null) {
			session.setAttribute("login_user", user);
			return "admin";
			}else {
				model.addAttribute("errorMessage","用户名或者密码错误");
				return"index";
			}
	 }
	
}

service层

在这里插入图片描述

@Service//需要注解声明ervice层
public class UserServiceImpl implements UserService {
	//调用UserMapper.login方法验证
	@Autowired
	private UserMapper um;

	@Override
	public User validate(String username, String password) {
		User user = um.login(username, password);
		if (user != null) {
			return user;
		}
		return null;
	}

}

Mapper接口层

在这里插入图片描述

public interface UserMapper {
	 //注意返回的类型是User @parm强制转换类型
	User login(@Param("u_name")String u_name,@Param("u_pwd")String u_pwd);
	
}

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="crm.mapper.UserMapper">
	<!-- 登录映射 mapper.xml中主要编写SQL语句 -->
	<select id="login" parameterType="String"
		resultType="crm.pojo.User">

		select*from t_user where
		u_name = #{u_name} and u_pwd = #{u_pwd}
		
	</select>
</mapper>

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录--杭歌客户关系管理系统</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/Index.css">

</head>
<body>
	<div class="login">
		<!-- 图片标签 alt 图片信息 src 路径 -->
		<img alt="杭歌" src="${pageContext.request.contextPath}/image/logo.png">
		<!-- 段落标签 -->
		<p>杭歌客户关系管理系统</p>
		<!-- form表单标签 目的将来往服务器提交数据 -->
		<form action="${pageContext.request.contextPath }/admin/user/login.action"
			method="post">
			<!-- 标签的嵌套 -->
			<div>
				<!-- input 输入框标签 -->
				<input type="text" id="username" name="username"
					placeholder="请输入用户名">
			</div>

			<!-- 属性写到标签的内部 行内样式 STYLE-->
			<div>
				<input type="password" id="password" name="password"
					placeholder="请输入密码">
			</div>
			<p class="message">${errorMessage}</p>
			<div>
				<input type="submit" value="登录" />
			</div>
		</form>
	</div>
</body>
</html>
发布了13 篇原创文章 · 获赞 6 · 访问量 1697

猜你喜欢

转载自blog.csdn.net/chenhangx/article/details/103438813