JavaWeb学习(13):MVC案例

前置知识:

MVC模式,不懂的戳我哦

View:

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

		<!-- View 部分 -->

		<form action="LoginServlet" method = "post">

			<input type = "text" name = "uname">
			<input type = "password" name = "upwd">
			<input type = "submit" value = "登录">

		</form>

</body>
</html>

Welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		<%
			out.print("登录成功");
		%>
</body>
</html>

Controller:

LoginServlet.java

package org.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dao.LoginDao;
import org.entity.Login;

// 控制器实行分发

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		// 根据内置对象得到用户的信息
		String name = request.getParameter("uname");
		String password = request.getParameter("upwd");

		// 将用户信息封装成一个实体类,传递给模型层
		Login login = new Login(name,password);

		LoginDao loginDao = new LoginDao();

		// 传输一个JavaBean 封装的实体类
		int cnt = loginDao.login(login);

		// 根据从模型层返回的信息反馈给 View,执行具体的操作

		if(cnt > 0) {
			// 校验成功 跳转到欢迎界面
			response.sendRedirect("welcome.jsp");
		} else {
			// 校验失败 跳转到 登录界面 进行重新登录
			response.sendRedirect("login.jsp");
		}

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

Model:

LoginDao.java -- 封装业务逻辑的 JavaBean

JDBC相关知识的 Click Me

package org.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.entity.Login;

// 模型层(封装逻辑或者封装实体类 -- 数据 , 实现某种功能)

public class LoginDao {

	private static  String URL = "jdbc:mysql://localhost:3306/sqltest";
	private static  String User = "root";
	private static  String Password = "root";

	//封装业务逻辑,实现校验用户信息的功能

	public int login(Login login) {

		Connection connection = null;
		PreparedStatement pstam = null;
		ResultSet rs = null;

		try {

			Class.forName("com.mysql.jdbc.Driver");

			connection = DriverManager.getConnection(URL, User, Password);

			String sql = "select count(*) from login where uname = ? && upwd = ?";

			pstam = connection.prepareStatement(sql);

			pstam.setString(1,login.getName());
			pstam.setString(2,login.getPassword());

			rs = pstam.executeQuery();

			if(rs.next()) {
				return 1;
			} else {
				return 0;
			}

		} catch(ClassNotFoundException e) {
			e.printStackTrace();
		} catch(SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if(rs != null) rs.close();
				if(pstam != null) pstam.close();
				if(connection != null) connection.close();
			} catch(SQLException e) {
				e.printStackTrace();
			}
		}
		return -1;
	}
}

Login.java -- 封装数据的 JavaBean (对应数据库中的一张表)

package org.entity;

// 封装数据的 JavaBean,对应数据库中的一张表;

public class Login {
	private String name;
	private String password;

	// 无参的构造方法
	public Login() {

	}
	// 带参的构造方法
	public Login(String name, String password) {

		this.name = name;
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

后记:

一定要有自信,不要让怯懦成为你前进路上的畔脚石。

原文地址:https://www.cnblogs.com/prjruckyone/p/12568459.html

时间: 2024-10-16 07:34:59

JavaWeb学习(13):MVC案例的相关文章

JavaWeb学习(十): MVC模式

前情摘要: MVC 是一种设计思想(模式),并不是某种编程技术. MVC 由哪几部分组成? M: Model -- 用于实现某种功能. 封装应用程序的数据结构和事物逻辑,几种体现应用程序的状态,当数据状态发生改变的时 候能够在视图里面体现出来. 主要用 JavaBean 来实现(关于 JavaBean 可以看上一篇文章) V: View -- 展示给用户一个较好的页面. 它是 Model 的外在表现,当模型状态改变时会有所体现. 主要通过 JSP 来实现. C: Controller -- 分发

【JavaWeb】MVC案例之新闻列表

MVC案例之新闻列表 作者:白宁超 2016年6月6日15:26:30 摘要:本文主要针对javaweb基本开发之MVC案例的简单操作,里面涉及mysql数据库及表的创建,以及jsp页面和servlet的操作,整个操作流程进行梳理.其中涉及的概念问题,不在一一详述.对于整个操作流程按照开发顺序创建.(本文原创,转载标明出处:MVC案例之新闻列表). 实验准备: 1  win*系统,一般配置笔记本或者台式机 2  安装MyEclipse开发平台,本实验使用MyEclipse2015(点击下载) 3

JavaWeb学习过程 之MVC模式下的查询

近些天一直在学习javaweb 但总是时断时续,今天终于有时间,来学习一下MVC下的查询模式. 一.首先先了解一下 什么是mvc? MVC是Model-View-Controller的简称,即模型-视图-控制器.它是一种设计模式,它吧应用程序分成三个核心模块,模型,视图,控制器.他们各自处理自己的任务. 模型:是应用程序的主体部分,模型指的是业务模型. 一个模型可以为多个视图提供数据. 视图:是用户看到的并与之交互的界面. 可以向用户显示相关的数据,接受用户的输入,但是它不进行任何实际的业务处理

javaweb学习之Servlet开发(二)

javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletConfigDemo1</servlet-name> 3 <servlet-class>gacl.servlet

【JAVAWEB学习笔记】13_servlet

JavaWeb核心之Servlet 教学导航 学习目标: 案例一.完成用户登录功能 案例二.记录成功登录系统的人次 一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API  动态的向客户端输出内容 servlet规范:包含三个技术点 1)servlet技术 2)filter技术---过滤器 3)listener技术--

JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动

javaweb学习总结(六)——Servlet开发(二)

转载:http://www.cnblogs.com/xdp-gacl/p/3763559.html 只为成功找方法,不为失败找借口! javaweb学习总结(六)——Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletC

JAVAWeb学习总结(3)

JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动

JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 联系方式:[email protected] 一.http协议回顾: 在上一篇文章中:JavaWeb学习之Servlet(一)----MyEclipse及Tomcat的配置,我们通过在浏览器输入url,就能看到在MyEclipse中编写的Servlet资源,效果如下: 上图中,整个过程是这样的:浏览器中输入url后,会通过hosts文件/dns服务