javaweb之浏览功能
今天我们来写浏览功能,浏览主要是通过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之浏览功能的更多相关文章
- Nginx 和 Apache 开启目录浏览功能
1.Nginx 在相应项目的 Server 段中的 location 段中,添加 autoindex on.例如: server { listen ; server_name www.dee.prac ...
- nginx和apache配置目录浏览功能
今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...
- Nginx目录浏览功能
要给其他人提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让其他人看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件:效果如图. 实现步骤:在虚拟主机配置文件里面开 ...
- 配置 Nginx 的目录浏览功能
Nginx 默认是不允许列出整个目录的,需要配置 Nginx 自带的 ngx_http_autoindex_module 模块实现目录浏览功能 . location / { alias /opt/fi ...
- Fiddler插件开发 - 实现网站离线浏览功能
有这么一种应用场景: 你是做前端或APP开发的,需要调用服务端提供的接口,接口只能在公司内网访问:在公司外就无法调试代码了. 想在公司外访问怎么办呢? 如果在公司的时候将所有接口的响应内容都保存起来, ...
- 启用Nginx目录浏览功能的方法
location / { root /data/www/file //指定实际目录绝对路径: autoindex on; ...
- BAT-给文件右击菜单增加7-ZIP浏览功能
Reg给文件右击菜单增加7-ZIP浏览功能 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\用7-ZIP浏览(ZJQ)] ...
- c# -- 实现浏览功能(备忘)
最近在做系统的时候,要实现浏览功能,但是由于本人记性一般,每次写完就忘,所以还是写篇随笔,备忘一下,方便以后查看@_@# 实现功能大概如下: 按钮1:点击浏览按钮后,选择文件(类型为.txt),默认位 ...
- 启动Nginx目录浏览功能及 让用户通过用户名密码认证访问web站点
一.启动Nginx目录浏览功能 [root@abcdocker extra]# cat w.conf server { listen 80; server_name IP地址; location / ...
随机推荐
- 二级py--day4 数据结构与算法篇
二级py--day4 数据结构与算法篇 1.算法的基本特征:可行性.确定性.有穷性.拥有足够的情报 2.算法的设计要求包括效率与低存储量,既要考虑算法的时间复杂度和空间复杂度 3.算法的优劣:与算法描 ...
- 微信小程序获取当前的时间戳
js文件中进行计算var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; console.log(timestamp ...
- Linux下面怎么安装PHP扩展?
一般开发环境都是在windows上, 安装扩展也很容易, 直接把下载的.dll文件扔到ext下面, 改一下php.ini文件. 完事了. linux上有两种安装方法 1.编译安装 //下载文件 #wg ...
- es-kibana基本使用
- 安装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 ...
- GitLab 常用命令
1. 进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remot ...
- mybatis连接sql
mysql6以上 com.mysql.cj.jdbc.Driver
- RocketMq基础 看这一篇就够了
RocketMQ 编译安装 HelloWorld 官方网站 http://rocketmq.apache.org GitHub https://github.com/apache/rocketmq Q ...
- 深度优先算法--对DFS的一些小小的总结(一)
提到DFS,我们首先想到的是对树的DFS,例如下面的例子:求二叉树的深度 int TreeDepth(BinaryTreeNode* root){ if(root==nullptr)return 0; ...
- redux和vuex以及dva?
redux: 通过store存储,通过action唯一更改,reducer描述如何更改.dispatch一个action dva: 基于redux,结合redux-saga等中间件进行封装 vuex: ...