今天我们来写浏览功能,浏览主要是通过sql语句将数据库里的数据查出来,并显示在页面上。

一.dao层

在上一篇文章的基础上dao层加入浏览方法。


public List<Course> list(){
String sql="select * from submitcourse";
List<Course> list=new ArrayList<>();
ResultSet rs=null;
Course ns=new Course();
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
// pstmt.setString(1,n.getTeachername());
rs=pstmt.executeQuery();
while(rs.next())
{
ns=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
list.add(ns);
}
//System.out.println(rs);
System.out.println(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}

二.Servlet层


在servlet中实现交互,并修改servlet里面的格式。

package servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List; 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.Course;
import dao.daoCourse; /**
* Servlet implementation class course_servlet
*/
@WebServlet("/course_servlet")
public class course_servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
daoCourse gooddao=new daoCourse();//调用dao层的方法
/**
* @see HttpServlet#HttpServlet()
*/
public course_servlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
if("add".equals(method))
{
String teachername=request.getParameter("teachername");
String classname=request.getParameter("classname");
String place=request.getParameter("place");
Course n=new Course(classname,teachername,place);
gooddao.add(n);
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("NewFile2.jsp").forward(request, response);
}
}
else if("looklist".equals(method)) {
List<Course> nt= gooddao.list();
request.setAttribute("nt", nt);
System.out.println("王建民");
request.getRequestDispatcher("NewFile3.jsp").forward(request, response);
} } }

三.写jsp


在此处我们使用jstl和EL来进行数据的获取

NewFile3.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<td>课程名称</td>
<td>教师姓名</td>
<td>教学地点</td>
<td>操作</td>
</tr>
<c:forEach items="${nt}" var="xm">
<tr>
<td>${xm.classname}</td>
<td>${xm.teachername}</td>
<td>${xm.place}</td>
<td><a href="course_servlet?method=delete&teachername=${xm.teachername}" onClick="return confirm('确认删除吗?');">删除</a>
<a href="course_servlet?method=queryByTeachername&teachername=${xm.teachername}">修改</a>
</tr>
</c:forEach>
</table>
</body>
</html>

NewFile2.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>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<form action="course_servlet?method=looklist" method="post" >
<h1>添加成功</h1>
<input type="submit" value="浏览">
</form>
</body>
</html>

四.运行结果:


这写的有点丑,可以做一个菜单。

点击浏览即可浏览出表里面的数据。


下一篇文章为大家写删除功能!!!!!!

javaweb之浏览功能的更多相关文章

  1. Nginx 和 Apache 开启目录浏览功能

    1.Nginx 在相应项目的 Server 段中的 location 段中,添加 autoindex on.例如: server { listen ; server_name www.dee.prac ...

  2. nginx和apache配置目录浏览功能

    今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...

  3. Nginx目录浏览功能

    要给其他人提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让其他人看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件:效果如图. 实现步骤:在虚拟主机配置文件里面开 ...

  4. 配置 Nginx 的目录浏览功能

    Nginx 默认是不允许列出整个目录的,需要配置 Nginx 自带的 ngx_http_autoindex_module 模块实现目录浏览功能 . location / { alias /opt/fi ...

  5. Fiddler插件开发 - 实现网站离线浏览功能

    有这么一种应用场景: 你是做前端或APP开发的,需要调用服务端提供的接口,接口只能在公司内网访问:在公司外就无法调试代码了. 想在公司外访问怎么办呢? 如果在公司的时候将所有接口的响应内容都保存起来, ...

  6. 启用Nginx目录浏览功能的方法

    location / {           root /data/www/file                     //指定实际目录绝对路径:           autoindex on; ...

  7. BAT-给文件右击菜单增加7-ZIP浏览功能

    Reg给文件右击菜单增加7-ZIP浏览功能 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\用7-ZIP浏览(ZJQ)] ...

  8. c# -- 实现浏览功能(备忘)

    最近在做系统的时候,要实现浏览功能,但是由于本人记性一般,每次写完就忘,所以还是写篇随笔,备忘一下,方便以后查看@_@# 实现功能大概如下: 按钮1:点击浏览按钮后,选择文件(类型为.txt),默认位 ...

  9. 启动Nginx目录浏览功能及 让用户通过用户名密码认证访问web站点

    一.启动Nginx目录浏览功能  [root@abcdocker extra]# cat w.conf server { listen 80; server_name IP地址; location / ...

随机推荐

  1. 矩池云里查看cuda版本

    可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...

  2. jq全选、全不选、反选、单删、批量删除

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. laravel7 百度智能云检测图片是否合规

    APP 文件下建一个Libs目录建一个BaiduService文件,需要检测引入进行调用即可 BaiduService文件内容如下 <?php namespace App\Libs; use A ...

  4. Netty学习(三)高性能之ByteBuf源码解析

    原文链接: https://juejin.im/post/5db8ea506fb9a02061399ab3 Netty 的 ByteBuf 类型 Pooled(池化).Unpooled(非池化) Di ...

  5. web自动化之selenium(二)

    selenium自动化测试框架 一.什么是自动化测试 利用软件(或者说机器代替人)实现全部或者部分测试任务的过程 二.为什么要进行自动化测试 ​ 自动化测试可以完成许多手工测试无法实现或难以实现的功能 ...

  6. 你真的懂TSP吗

    ​整数规划-模型 2022年2月26日 TSP问题 有一个邮递员,他每天负责向100个客户的家门口送一份报纸,他希望走最短的总路程来完成配送任务,这是TSP问题最原始的场景.用理论描述就是:找一个路径 ...

  7. Block对变量的引用

    如果在 Block 内部使用外部的变量,Block 会持有这个变量.下面来看几中特殊的情况,看 Block 对变量的持有情况如何. typeof @interface X : NSObject @pr ...

  8. C++中如何可以修改const函数内的成员变量的值?

    呵呵,你使用mutable关键字来定义变量就可以了.下面举例说明 C++关键字mutable Mutable (1)mutable的意思是"可变的,易变的",跟C++中的const ...

  9. JDBC 使用详解

    1.JDBC 编程步骤: 加载驱动程序; Class.forName(driverClass) 加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver& ...

  10. js 中的值类型和引用类型

    javascript中值类型(基本类型):number,string,bool,undefined,null(这5种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值) 引用类型:对象(Ob ...