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

一.dao层

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


  1. public List<Course> list(){
  2. String sql="select * from submitcourse";
  3. List<Course> list=new ArrayList<>();
  4. ResultSet rs=null;
  5. Course ns=new Course();
  6. try {
  7. Connection conn=DBUtil.getConnection();
  8. PreparedStatement pstmt=conn.prepareStatement(sql);
  9. // pstmt.setString(1,n.getTeachername());
  10. rs=pstmt.executeQuery();
  11. while(rs.next())
  12. {
  13. ns=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
  14. list.add(ns);
  15. }
  16. //System.out.println(rs);
  17. System.out.println(rs);
  18. } catch (SQLException e) {
  19. // TODO Auto-generated catch block
  20. e.printStackTrace();
  21. }
  22. return list;
  23. }

二.Servlet层


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

  1. package servlet;
  2.  
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import javax.servlet.ServletException;
  8. import javax.servlet.annotation.WebServlet;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12.  
  13. import Bean.Course;
  14. import dao.daoCourse;
  15.  
  16. /**
  17. * Servlet implementation class course_servlet
  18. */
  19. @WebServlet("/course_servlet")
  20. public class course_servlet extends HttpServlet {
  21. private static final long serialVersionUID = 1L;
  22. daoCourse gooddao=new daoCourse();//调用dao层的方法
  23. /**
  24. * @see HttpServlet#HttpServlet()
  25. */
  26. public course_servlet() {
  27. super();
  28. // TODO Auto-generated constructor stub
  29. }
  30.  
  31. /**
  32. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  33. */
  34. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  35. // TODO Auto-generated method stub
  36. doPost(request, response);
  37. }
  38.  
  39. /**
  40. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  41. */
  42. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  43. // TODO Auto-generated method stub
  44. request.setCharacterEncoding("utf-8");
  45. response.setCharacterEncoding("utf-8");
  46. String method=request.getParameter("method");
  47. if("add".equals(method))
  48. {
  49. String teachername=request.getParameter("teachername");
  50. String classname=request.getParameter("classname");
  51. String place=request.getParameter("place");
  52. Course n=new Course(classname,teachername,place);
  53. gooddao.add(n);
  54. request.setAttribute("message", "添加成功");
  55. request.getRequestDispatcher("NewFile2.jsp").forward(request, response);
  56. }
  57. }
  58. else if("looklist".equals(method)) {
  59. List<Course> nt= gooddao.list();
  60. request.setAttribute("nt", nt);
  61. System.out.println("王建民");
  62. request.getRequestDispatcher("NewFile3.jsp").forward(request, response);
  63. }
  64.  
  65. }
  66.  
  67. }

三.写jsp


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

NewFile3.jsp:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <table>
  12. <tr>
  13. <td>课程名称</td>
  14. <td>教师姓名</td>
  15. <td>教学地点</td>
  16. <td>操作</td>
  17. </tr>
  18. <c:forEach items="${nt}" var="xm">
  19. <tr>
  20. <td>${xm.classname}</td>
  21. <td>${xm.teachername}</td>
  22. <td>${xm.place}</td>
  23. <td><a href="course_servlet?method=delete&teachername=${xm.teachername}" onClick="return confirm('确认删除吗?');">删除</a>
  24. <a href="course_servlet?method=queryByTeachername&teachername=${xm.teachername}">修改</a>
  25. </tr>
  26. </c:forEach>
  27. </table>
  28. </body>
  29. </html>

NewFile2.jsp:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <%
  11. Object message = request.getAttribute("message");
  12. if(message!=null && !"".equals(message)){
  13.  
  14. %>
  15. <script type="text/javascript">
  16. alert("<%=request.getAttribute("message")%>");
  17. </script>
  18. <%} %>
  19. <form action="course_servlet?method=looklist" method="post" >
  20. <h1>添加成功</h1>
  21. <input type="submit" value="浏览">
  22. </form>
  23. </body>
  24. </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. 二级py--day4 数据结构与算法篇

    二级py--day4 数据结构与算法篇 1.算法的基本特征:可行性.确定性.有穷性.拥有足够的情报 2.算法的设计要求包括效率与低存储量,既要考虑算法的时间复杂度和空间复杂度 3.算法的优劣:与算法描 ...

  2. 微信小程序获取当前的时间戳

    js文件中进行计算var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; console.log(timestamp ...

  3. Linux下面怎么安装PHP扩展?

    一般开发环境都是在windows上, 安装扩展也很容易, 直接把下载的.dll文件扔到ext下面, 改一下php.ini文件. 完事了. linux上有两种安装方法 1.编译安装 //下载文件 #wg ...

  4. es-kibana基本使用

  5. 安装MYSQL8.0提示api-ms-win-crt-runtime-l1-1-0.dll 丢失

    Windows Server 2012 api-ms-win-crt-runtime-l1-1-0.dll 丢失 2017-11-06 11:11:37 Martin_Yelvin 阅读数 17015 ...

  6. GitLab 常用命令

    1. 进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remot ...

  7. mybatis连接sql

    mysql6以上  com.mysql.cj.jdbc.Driver

  8. RocketMq基础 看这一篇就够了

    RocketMQ 编译安装 HelloWorld 官方网站 http://rocketmq.apache.org GitHub https://github.com/apache/rocketmq Q ...

  9. 深度优先算法--对DFS的一些小小的总结(一)

    提到DFS,我们首先想到的是对树的DFS,例如下面的例子:求二叉树的深度 int TreeDepth(BinaryTreeNode* root){ if(root==nullptr)return 0; ...

  10. redux和vuex以及dva?

    redux: 通过store存储,通过action唯一更改,reducer描述如何更改.dispatch一个action dva: 基于redux,结合redux-saga等中间件进行封装 vuex: ...