jsp隐藏九大对象 and 使用

jsp的九大内置对象:jsp对应的servlet的service方法中定义好可以直接使用的9个对象

request :请求对象 HttpServletRequest
response:响应对象 HttpServletReponse
session:回话 HttpSession
pageContext: page上下文对象 PageContext
application: 项目上下文对象 ServletContext
out:响应字符输出流 Writer
page:当前jsp页面 HttpServlet
config:配置信息 ServletConfig
exception:异常对象 Throwable (只存在isErrorPage=true的页面)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个基于JSP和DBUtils的留言本示例,实现了发表留言、回复留言和留言维护等功能。 首先,在项目中引入DBUtils的jar包,可以在pom文件中添加以下依赖: ```xml <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.7</version> </dependency> ``` 接着,在数据库中创建留言表: ```sql CREATE TABLE `message` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` text NOT NULL, `create_time` datetime NOT NULL, `reply_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ); ``` 然后,创建一个Message类作为留言的数据模型: ```java public class Message { private int id; private String title; private String content; private Date createTime; private int replyId; // getter and setter methods } ``` 接着,编写DAO类来实现对留言表的操作: ```java public class MessageDao { private QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource()); // 添加留言 public void addMessage(Message message) throws SQLException { String sql = "INSERT INTO message (title, content, create_time, reply_id) VALUES (?, ?, ?, ?)"; Object[] params = {message.getTitle(), message.getContent(), message.getCreateTime(), message.getReplyId()}; queryRunner.update(sql, params); } // 根据id获取留言 public Message getMessageById(int id) throws SQLException { String sql = "SELECT * FROM message WHERE id = ?"; return queryRunner.query(sql, new BeanHandler<>(Message.class), id); } // 获取留言列表 public List<Message> getMessageList() throws SQLException { String sql = "SELECT * FROM message ORDER BY create_time DESC"; return queryRunner.query(sql, new BeanListHandler<>(Message.class)); } // 根据id删除留言 public void deleteMessageById(int id) throws SQLException { String sql = "DELETE FROM message WHERE id = ?"; queryRunner.update(sql, id); } } ``` 在这里,我们使用DBUtils提供的QueryRunner类来执行SQL语句的查询和更新操作,并使用BeanHandler和BeanListHandler将查询结果转换为Java对象。 接着,编写JSP页面来实现留言本的功能: 1. 发表留言页面(message.jsp): ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>发表留言</title> </head> <body> <h1>发表留言</h1> <form action="addMessage.jsp" method="post"> 标题:<input type="text" name="title"><br> 内容:<br> <textarea name="content" rows="10" cols="50"></textarea><br> <input type="submit" value="发表留言"> </form> </body> </html> ``` 2. 处理发表留言请求的页面(addMessage.jsp): ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.Date" %> <%@ page import="com.example.Message" %> <%@ page import="com.example.MessageDao" %> <%@ page import="com.example.C3P0Utils" %> <% String title = request.getParameter("title"); String content = request.getParameter("content"); int replyId = Integer.parseInt(request.getParameter("reply_id")); Message message = new Message(); message.setTitle(title); message.setContent(content); message.setCreateTime(new Date()); message.setReplyId(replyId); MessageDao messageDao = new MessageDao(); messageDao.addMessage(message); response.sendRedirect("messageList.jsp"); %> ``` 在这里,我们从请求参数中获取留言的标题、内容和回复留言的id,然后创建一个Message对象并调用MessageDao的addMessage方法将留言保存到数据库中,并最终重定向到留言列表页面(messageList.jsp)。 3. 留言列表页面(messageList.jsp): ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.List" %> <%@ page import="com.example.Message" %> <%@ page import="com.example.MessageDao" %> <% MessageDao messageDao = new MessageDao(); List<Message> messageList = messageDao.getMessageList(); %> <html> <head> <title>留言列表</title> </head> <body> <h1>留言列表</h1> <a href="message.jsp">发表留言</a> <table border="1"> <thead> <tr> <th>ID</th> <th>标题</th> <th>内容</th> <th>创建时间</th> <th>操作</th> </tr> </thead> <tbody> <% for (Message message : messageList) { %> <tr> <td><%= message.getId() %></td> <td><%= message.getTitle() %></td> <td><%= message.getContent() %></td> <td><%= message.getCreateTime() %></td> <td> <a href="reply.jsp?id=<%= message.getId() %>">回复</a> <a href="deleteMessage.jsp?id=<%= message.getId() %>">删除</a> </td> </tr> <% } %> </tbody> </table> </body> </html> ``` 在这里,我们调用MessageDao的getMessageList方法获取留言列表,并使用JSP的循环语句将留言列表渲染到页面上。 4. 回复留言页面(reply.jsp): ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.example.Message" %> <%@ page import="com.example.MessageDao" %> <% int id = Integer.parseInt(request.getParameter("id")); MessageDao messageDao = new MessageDao(); Message message = messageDao.getMessageById(id); %> <html> <head> <title>回复留言</title> </head> <body> <h1>回复留言</h1> <form action="addMessage.jsp" method="post"> 标题:<input type="text" name="title"><br> 内容:<br> <textarea name="content" rows="10" cols="50"></textarea><br> <input type="hidden" name="reply_id" value="<%= message.getId() %>"> <input type="submit" value="回复留言"> </form> </body> </html> ``` 在这里,我们从请求参数中获取回复留言的id,并调用MessageDao的getMessageById方法获取要回复的留言对象。然后,我们在表单中添加一个隐藏域来保存要回复的留言的id,并将表单的action属性设置为addMessage.jsp,以便在提交表单时将回复留言和原留言关联起来。 5. 处理删除留言请求的页面(deleteMessage.jsp): ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.example.MessageDao" %> <% int id = Integer.parseInt(request.getParameter("id")); MessageDao messageDao = new MessageDao(); messageDao.deleteMessageById(id); response.sendRedirect("messageList.jsp"); %> ``` 在这里,我们从请求参数中获取要删除的留言的id,并调用MessageDao的deleteMessageById方法将留言从数据库中删除,并最终重定向到留言列表页面(messageList.jsp)。 至此,我们完成了基于JSP和DBUtils的留言本的实现,实现了发表留言、回复留言和留言维护等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值