实验四 JavaBean及Servlet使用

本次实验旨在让学生熟悉JavaBean的开发过程和Servlet的使用。实验要求包括创建数据库并插入用户数据,编写JavaBean来封装用户信息,然后通过Servlet处理登录请求,利用DAO查询数据库进行用户验证。在登录页面输入学号和密码,验证成功则展示学生姓名,失败则返回登录页面。实验代码中包含了Servlet、DAO和JavaBean的实现,以及登录页面的展示。
摘要由CSDN通过智能技术生成

实验四  JavaBeanServlet使用

一、实验目的 

1.熟悉JavaBean的开发过程。

2.掌握Servlet的开发过程。

二、实验学时

2H

三、实验性质

综合性实验

四、实验内容

1.创建一个数据库,在数据库建立用户表,插入几条用户数据。(5分)

2. 编写一个JavaBean“User.java”,它包含属性stuno(String)、password(String)、stuname(String),并编写相应的getter和setter方法。(25分)

3.编写一个登录页面,输入学号和密码,在数据库中进行验证,如果验证通过,则在另一个页面中显示学生的姓名;如果验证不通过,返回登录页面,并提示用户不存在信息。要求数据提交到Servlet中进行处理,使用JavaBean封装学生信息,使用DAO查询数据库。(60分)

1.index1

<%@ 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>

<%  String str="";

if(request.getParameter("a")!=null){

str="登录失败,请重新登录!";

    out.print(str);

       }else{

     out.print(str);

     }

%>

<form action="servlet">

 学 号:<input type="text" name="uname"></br>

 密 码:<input type="password" name="pwd"></br>

      <input type="submit" value="登录">

</form>

</body>

</html>

2.index2

<%@ page import="java.util.ArrayList"%>

<%@page import="Bean.Student"%>

<%@page import="java.*"%>

<%@page import="dao.Dao"%>

<%@ 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>

<%

int i=0;

String str=request.getParameter("uname");

    Dao dao=new Dao();

    ArrayList<Student> list=dao.findStudent();

    while(true){

     if(str.equals(list.get(i).getStuno())){

     out.print(list.get(i).getStuname());

     break;

     }

     i++;

    }

%>

<a href="index1.jsp">返回登录界面</a>

</body>

</html>

3.package dao

package dao;

import java.awt.List;

import java.sql.*;

import java.util.ArrayList;

import Bean.Student;

public class Dao {

public ArrayList<Student> findStudent() throws Exception{

ArrayList<Student> list=new ArrayList<Student>();

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

String path = "E:/study.accdb";

String url = "jdbc:ucanaccess://" + path;

Connection conn = DriverManager.getConnection(url);

String sql="select stuno,password,stuname from 表1";

PreparedStatement pstn = conn.prepareStatement(sql);

ResultSet rs = pstn.executeQuery();

while(rs.next()) {

Student stu=new Student();

stu.setStuno(rs.getString("stuno"));

stu.setPassword(rs.getString("password"));

stu.setStuname(rs.getString("stuname"));

list.add(stu);

}

rs.close();

conn.close();

    return list;

}

}

4.Servlet01

package Servlet01;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

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 Bean.Student;

import dao.Dao;

@WebServlet("/servlet")

public class servlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

super.service(req, resp);

PrintWriter out=resp.getWriter();

}

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

Dao dao=new Dao();

ArrayList<Student> list;

try {

list = dao.findStudent();

String str1=request.getParameter("uname");

String str2=request.getParameter("pwd");

for(int i=0;i<list.size();i++) {

if((str1.equals(list.get(i).getStuno()))&&str2.equals(list.get(i).getPassword())) {

request.getRequestDispatcher("index2.jsp").forward(request, response);

}

}

response.sendRedirect("index1.jsp?a=1");

} catch (Exception e) {

e.printStackTrace();

}

}

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

doGet(request, response);

}

}

5.package Bean

package Bean;

public class Student {

private String stuno;

private String password;

private String stuname;

public String getStuno() {

return stuno;

}

public Student(String stuno, String password, String stuname) {

super();

this.stuno = stuno;

this.password = password;

this.stuname = stuname;

}

public Student() {

super();

}

public void setStuno(String stuno) {

this.stuno = stuno;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getStuname() {

return stuname;

}

public void setStuname(String stuname) {

this.stuname = stuname;

}

}

 

五、实验总结

请书写你对本次实验有哪些实质性的收获和体会,以及对本次实验有何良好的建议?(10分)

 

JavaBean是一种用于在Java应用程序中管理数据对象的规范化方式。它通常由私有属性和公共的getter和setter方法组成。JavaBean可以用于封装数据,方便在不同组件和层之间传递,并提供了对数据的安全访问ServletJava编写的服务器端程序,用于处理HTTP请求和响应。Servlet可以接收客户端的请求,并对请求进行处理,然后生成响应并发送回客户端。 在使用JavaBeanServlet时,我们可以将JavaBean作为servlet的数据处理对象。当客户端发送请求时,Servlet可以通过调用JavaBean的setter方法来接收请求参数并处理数据。然后,Servlet可以使用JavaBean的getter方法从JavaBean中获取处理结果,并将结果封装为响应发送给客户端。 通过将JavaBeanServlet结合使用,我们可以实现灵活的数据处理和动态的页面生成。JavaBean可以封装各种数据,包括表单数据、数据库查询结果等。Servlet可以根据JavaBean的数据进行逻辑处理,然后生成动态的页面内容,例如显示查询结果、处理表单提交等。 使用JavaBeanServlet的好处包括: 1. 模块化:JavaBeanServlet的结合使代码更加模块化和易于维护。 2. 重用性:可以将JavaBean用于多个Servlet中处理各种数据。 3. 安全性:JavaBean可以提供对数据的安全访问,避免了对数据直接的操作。 4. 可扩展性:通过扩展JavaBeanServlet的功能,可以实现更多复杂的业务逻辑。 总之,JavaBeanServlet使用可以使我们的Java应用程序更加灵活和可靠,提高开发效率和代码质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值