servlet基础实验

实 验 报 告
实验名称 Servlet基础 日期 2020年 10 月20 日
一、实验目的:
1、理解Servlet的工作原理;
2、掌握javabean在web程序中的应用;
3、掌握基于Servlet的MVC模式;

二、实验环境:

Eclipse

三、实验内容:
1、参考教材P142的例子,使用JSP、Servlet、JavaBean实现基于MVC模式的用户登录验证程序。
2、完成上述实验的基础上可以加入图片验证码、自动登录、注销等额外的功能。

程序代码:
User.java

package dto;

public class User {
	private String name;
	private String pwd;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name=name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd=pwd;
	}
}

Usercheck.java

package service;
import java.io.IOException;

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

import dto.User;
public class UserCheck {
	//验证登录
	public boolean validate(User user) {
		if(user != null && user.getName().equals("Luomeng")) {
			if(user.getPwd().equals("3182052051219") ) {
				return true;
			}
		return false;
		}
	return false;
	}
	
	/**
	 * 验证用户输入的验证码输入的是否正确
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	public boolean checkValidationCode(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		boolean flag=true;
		HttpSession session=request.getSession();
		String validationRightCode=(String)session.getAttribute("vcode");
		String validationUserCode=request.getParameter("validationCode");
		if(!validationRightCode.equals(validationUserCode)){
			request.setAttribute("information","验证码输入不正确!");
			flag=false;
			RequestDispatcher rd=request.getRequestDispatcher("");
			rd.forward(request, response);
		}
		return flag;
	} 
}

LoginCheckServlet.java

package servlet;

import java.io.IOException;
import javax.servlet.RequestDispatcher;
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 service.UserCheck;
import dto.User;

@WebServlet(name="loginCheckServlet",urlPatterns= {"/loginCheckServlet"})
public class LoginCheckServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String name = request.getParameter("name");
		String pwd = request.getParameter("pwd");
		User user = new User();
		user.setName(name);
		user.setPwd(pwd);
		UserCheck uc = new UserCheck();
		if(uc.validate(user)) {
			request.setAttribute("user", user);
			RequestDispatcher dis = request.getRequestDispatcher("loginSuccess.jsp");
			dis.forward(request, response);
		}
		else {
			response.sendRedirect("loginCheck.jsp");
		}
	}
}

loginCheck.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginCheck.jsp</title>
</head>
<body>
	<script language="javascript">
	function changeCode() {
		document.getElementById('checkImg').src = 'GetCaptcha?temp='+ (new Date().getTime().toString(36));
		return false;
	}
</script>
 
	<form action="loginCheckServlet" method="post">
	<table>
	
	<tr>
		<td>用户名:</td>
		<td><input type="text" name="name"/></td>
	</tr>
	
	<tr>
		<td>密码:</td>
		<td><input type="password" name="pwd"/></td>
	</tr>
	
	<tr>
		<td>验证码:</td>
		<td>
		<input type="text" maxlength="113" οnmοuseοver="this.style.background='pink'" οnmοuseοut="this.style.background='white'">
		<img src="GetCaptcha" alt="验证码" name="checkImg" id="checkImg" onClick="changeCode()" />
		</td>
	</tr>
	
	<tr>
		<td><input type="submit" value="提交"/></td>
		<td><input type="reset" value="重置"/></td>
	</tr>
	
	</table>
	</form>
</body>
</html>

loginSuccess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginSuccess.jsp</title>
</head>
<body>
<jsp:useBean id="user" type="dto.User" scope="request"/>
恭喜<jsp:getProperty property="name" name="user"/>登陆成功!
</body>
</html>

运行截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
四、心得体会:
通过此次实验,理解了Servlet的工作原理;掌握了javabean在web程序中的应用;掌握基于Servlet的MVC模式;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值