浅谈JSP与JDBC的灵活运用

开发 后端
本文将介绍JSP与JDBC的一些灵活运用的实例,包括创建一个对象的实例,和create.jsp包含表单提交的信息。希望这些对大家学习有所帮助。

1.<jsp:forward page="list.jsp"/>

相当于

  1. <%  
  2.     request.getRequestDispatcher("list.jsp").forward(request, response);  
  3. %> 

2、<jsp:useBean class="anni.ContactDao" id="contactDao" scope="application"/>

anni.ContactDao是一个封装了数据库操作的bean

相当于

  1. <%  
  2.     anni.ContactDao contactDao = (anni.ContactDao) application.getAttribute("contactDao");  
  3.     if (contactDao == null) {  
  4.         contactDao = new anni.ContactDao();  
  5.         application.setAttribute("contactDao", contactDao);  
  6.     }  
  7. %> 

在上面的代码中只是为了创建一个对象的实例,为什么不用new呢,那要比这样写的代码少许多,也更容易理解,为什么我们还要执意使用jsp:useBean?

注意一下标签中的scope="application",application正是我们介绍过的四个作用域之一

我们先从application中获得contactDao对应的对象,然后判断得到的是否为null,如果为null说明此变量还没有初始化,这时就要使用new创建一个对象实例并放入application中。***我们得到的就是这个contactDao实例。

3、create.jsp包含表单提交的信息

save.jsp表单提交信息处理

Contact是对应的实体bean名称里面装有对应属性的get,set方法

  1. <jsp:useBean class="anni.ContactDao" id="contactDao" scope="application"/> 
  2. <jsp:useBean class="anni.Contact" id="contact"/> 
  3. <jsp:setProperty name="contact" property="*"/> 
  4. <%  
  5.     contactDao.save(contact);  
  6.     response.sendRedirect("list.jsp");  
  7. %> 

相当于

先从application中取出contactDao,再创建一个contact。在创建contact的时候没有指定scope,默认情况下只会使用new创建这个局部变量,不会对任何作用域产生影响。jsp:setProperty是新事物了,它的作用就是为某个javabean设置数据。之前我们已经使用jsp:useBean创建了一个 contact实例,现在我们通过name="contact"设置这个实例的数据,property可以指定一个属性,比如 property="username",也可以使用星号(*)批量设置所有可以找到的属性,这个jsp动作实际上与下面的代码等价。

  1. contact.setUsername(request.getParameter("username"));  
  2. contact.setSex(request.getParameter("sex"));  
  3. contact.setEmail(request.getParameter("email"));  
  4. contact.setQq(request.getParameter("qq"));  
  5. contact.setDescn(request.getParameter("descn")); contactDao.save(contact);response.sendRedirect("list.jsp"); 

【编辑推荐】

  1. 浅谈在JSP网页制作中,Hidden怎么用?
  2. 浅谈如何加快JDBC中JSP数据库的访问速度
  3. 如何加快JSP访问速度
  4. ASP.NET、JSP和PHP究竟哪个好
  5. JSP相关软件介绍
责任编辑:彭凡 来源: CSDN博客
相关推荐

2009-12-07 17:20:29

PHP stdClas

2009-10-23 15:30:53

无线接入技术

2019-10-21 15:30:54

JS技巧前端

2011-07-25 16:25:47

2010-04-21 14:56:23

Unix 线程

2009-02-20 10:59:21

Vista帮助系统使用技巧

2010-04-27 17:06:16

AIX vmstat

2011-07-08 13:56:00

域控制器服务器

2013-04-07 10:15:34

2013-04-10 10:39:57

2021-07-12 07:08:52

Spring Boot集成框架

2024-01-26 16:28:28

C++动态内存开发

2009-12-01 11:33:03

PHP判断字符串的包含

2012-02-04 14:56:52

JP1数据中心

2012-01-10 10:05:47

文件目录访问控制UGO

2010-05-27 13:32:36

IIS服务安全认证

2011-08-23 18:30:59

MySQLTIMESTAMP

2016-10-08 12:46:08

Linux监控限制

2021-10-08 06:50:31

Volatile设计原理

2011-08-17 09:47:55

windows7搜索
点赞
收藏

51CTO技术栈公众号