一、实验目的
1、理解Servlet的工作原理;
2、掌握javabean在web程序中的应用;
3、掌握基于Servlet的MVC模式;
二、实验要求
- 掌握Servlet的编程技术。
- 掌握Web程序中使用javabean实现业务逻辑
- 熟练使用IDE开发Servlet应用
- 掌握Servlet3.0的注解功能
三、实验内容
1、参考教材P142的例子,使用JSP、Servlet、JavaBean实现基于MVC模式的用户登录验证程序。
2、完成上述实验的基础上可以加入图片验证码、自动登录、注销等额外的功能。
- 框架如下
- User.java
package dto;
/*User类获取用户名和密码*/
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 dto.User;
public class UserCheck {
//登陆验证
public boolean validate(User user) {
if(user!=null&&user.getName().equals("小C的快乐星球")) {
if(user.getPwd().equals("123456")) {
return true;
}
return false;
}
return false;
}
}
- 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 {
System.out.println("账号密码错误。");
response.sendRedirect("loginCheck.jsp");
}
}
}
- loginSuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>loginCheck.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" <