欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java web

程序员文章站 2022-03-25 17:53:57
1、Servlet总结 在Java Web程序中,Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletResponse反馈给用户。Servlet 可以设置初始化参数,供Servlet内部使用。一个S ......

JSP(前端页面)+Servlet(控制器)+JavaBean(数据获取与封装组件),创建DAO获取数据库数据,创建VO封装取回的数据,并用EL表达式展示在页面中。实现一个数据库的模糊查询。(java web实验报告)

1.首项给大家看一下我这个web实验的目录
java web

2.软件准备:MyEclipse和MySQL数据库

2-1.MySQL数据库:
首先我在MySQL数据库里面建立一张名为:t_student的表:
java web
3.核心代代码:
3-1.jsp代码

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<body>
<form action="Test_servlet" method="POST">
    	请输入学生信息:<input type="text" name="stuinfo">
    	<input type="submit" value="查询">
</form>   
<!-- 这里的stuinfor标识的是session里面的student数据,这里直接使用stuinfor去获取session里面的数据 -->
	<c:forEach items="${stuinfor }" var="student">
		姓名:${student.stuname }
		学号:${student.stuno }<br>	
	</c:forEach>
</body>
</html>

jsp代码中我使用了forEach核心标签去遍历session中的数据,这里我直接使用的是taglib指令去声明jsp代码使用的标签库。
然后将相应的java包导入lib目录下。
java web

3-2.servlet代码(doGet方法):

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//接受表单传来的数据
		try {
		request.setCharacterEncoding("UTF-8");
		String stuinfor = request.getParameter("stuinfo");
		DAO dao = new DAO();
	    ArrayList<String> student = dao.queryAllStudents(stuinfor);
		HttpSession session = request.getSession();
//		                这里我将student数据存储在session中并用stuinfor(相当于student数据的一个名字叫做stuinfor)来标识它,以后需要用到student数据就直接使用stuinfor
		session.setAttribute("stuinfor", student);
		response.sendRedirect("submit_inform.jsp");
		}
		catch (Exception e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
}

这个代码里,我将取回的数据放在了session中;然后注意一点记得重定向一下:

response.sendRedirect("submit_inform.jsp");

3-3.Beans包代码(连接数据库)
DAO.jsp代码

package Beans;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class DAO {
	public ArrayList<String> queryAllStudents(String stuinfor) throws Exception{
		java.sql.Connection conn = null;
		ArrayList students = new ArrayList();
		try{
			//获取连接
			Class.forName("com.mysql.jdbc.Driver");
  			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
  			user,password);
  			String sql = "select * from t_student where stuno like '%"+stuinfor+"%' or stuname like '%"+stuinfor+"%' or stusex like '%"+stuinfor+"%'";
  			Statement stat = conn.createStatement();
  			ResultSet rs = stat.executeQuery(sql);
  			while(rs.next()){
  				Students student = new Students();
  				student.setStuno(rs.getString("stuno"));
  				student.setStuname(rs.getString("stuname"));
  				students.add(student);  				
  			}
  			rs.close();
  			stat.close();
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			try{
				//关闭连接
				if(conn!=null){
					conn.close();
					conn=null;
				}
			}catch(Exception ex){
				
			}
		}
	return students;
}
}
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
  			user,password);

这段代码中的user是自己创建数据库时的用户名,password是密码(这里根据自己的情况而定)
Student.jsp代码

package Beans;

public class Students {

	private String stuno;
	private String stuname;
//	给每个成员变量定义setter/getter方法
	public String getStuno() {
		return stuno;
	}
	public void setStuno(String stuno) {
		this.stuno = stuno;
	}
	public String getStuname() {
		return stuname;
	}
	public void setStuname(String stuname) {
		this.stuname = stuname;
	}

}

4.结果截图
java web
java web
java web
5.总结
jsp:主要是用来用户展示数据,输入数据的地方 servlet:我觉得是一个数据中转站 javabean:实际操作的地方(本次实验主要是创建了一个DAO.jsp去访问数据库)
这篇文章是我第一次写博客所写,有很多不足地方,忘大家批评指正。有什么问题,大家也可以留言,欢迎大家一起交流学习!!!!

本文地址:https://blog.csdn.net/qq_45675616/article/details/111072235