【总结】使用jdbc+servlet开发一个bug管理系统的经验总结
开发背景:
公司目前使用Teambition里面的task作为bug管理系统,既没有bug的当前状态,也不能写上bug的详细复现步骤,被assign了任务(该修复bug或者验证bug是否被修复)也没有邮件通知
也不能查看自己名下当前有多少bug待修复,分别属于哪些项目。
收获:
1. 前台jsp:
1.1. <a href="mailto:邮箱地址"> 安装了outlook后点击此链接会打开一个新建邮件界面
1.2. <meta http-equiv="refresh" content="5; url=/index.jsp"> 页面每5s自动刷新,跳转到页面index.jsp
1.3. <div style="width:100%;height: 500px;">页面布局尺寸既可以使用百分比也可以使用固定像素
1.4. <iframe width=100% height=100% frameborder=0 scrolling="yes" name="bugListFrame" src="/bugList.jsp"></iframe> iframe用来包含其它页面,即将其他页面作为此页面的一部分进行展示。此处用做将查询的bug列表显示在当前页面。在form表单有个属性target用来控制提交此表单后改变的对象,将其值设为iframe的name就行
1.5. 如果要在当前页面点击按钮时进行字段的检查,那么在form里添加 onSubmit="return checkForm(this)"(<form onSubmit="return checkForm(this)"......>)然后实现此函数
<script type="text/javascript">
function checkForm(obj){
1.6.页面获取cookie中的字段值
function getCookie(name){
var arr, reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}else{
return null;
}
};
document.getElementById("cookie_text").innerHTML = getCookie("bugTrackCookie");
document是此页面在IE里定义的对象
1.7. 将其它jsp页面加入此页面,与4不同的是此处被加入的jsp页面不能被单独刷新。<jsp:include page="loginName.jsp"></jsp:include>
1.8. <c:if test="${requestScope.loginer eq 'creator'}"> c:if是用在页面的if判断,需要导入包jstl.jar和standard.jar
1.9. 让select显示的值为数据库中的值,需要在页面加载时添加函数。
<body onload="go()">
<select id="buga" name="bugStatus">
<option value="1-new" >1-new</option>
<option value="2-new" >2-new</option>
</select>
<script>
function go()
{
document.getElementById("buga").value="<%=bn.getBugStaus()%>";
}
</script>
</body>
2.后台代码:
jdbc+servlet框架太老,就不细说了,现在基本上都用spring了。但是作为一个零基础自学的人来说,servlet比spring更容易上手,所以我学的是servlet。反正我只是个测试人员,公司交付给客户的项目不可能让我参与开发,我也只需要开发一些辅助测试的小工具就行,servlet足够了。
2.1. 发邮件:有jar包mail.jar。主要要用到mail.jar中Message,MessagingException,Session,Transport,InternetAddress,MimeMessage类。貌似是不支持一次设置多个收件人
2.2. servlet跳转到页面既可以用response,也可以用request:
2.2.1. 使用response跳转时不能传递参数给页面,跳转形式为response.setHeader("location", "./query.action?bugId=" + bugId);
2.2.2.使用request跳转时可以传递参数,这个request中还有上个页面传递到servlet中的参数
设置参数:request.setAttribute("bugNote", bn);
跳转:request.getRequestDispatcher("/query.jsp").forward(request, response);
【总结】使用jdbc+servlet开发一个bug管理系统的经验总结的更多相关文章
- 基于JSP+Servlet开发高校社团管理系统(前台+后台) 源码
基于JSP+Servlet开发高校社团管理系统(前台+后台): 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MYSQL数据库 运行效果 ...
- Spring Boot 2.x 综合示例-整合thymeleaf、mybatis、shiro、logging、cache开发一个文章发布管理系统
一.概述 经过HelloWorld示例(Spring Boot 2.x 快速入门(上)HelloWorld示例)( Spring Boot 2.x 快速入门(下)HelloWorld示例详解)两篇的学 ...
- 开源Bug管理系统Redmine安装和使用心得
最终忍受不了公司使用论坛+Excel来进行bug反馈和管理工作了,于是花了一个上午时间研究了下bug管理系统.这样一个bug管理系统能够轻松的查看bug新增了哪些,攻克了哪些.当前是谁,要在什么时间解 ...
- Servlet开发(2)
Jsp&Servlet用户登录功能实现(采用MVC模式) 我们使用Jsp&Servlet开发一个用户登录功能的小项目(麻雀大小,但是五脏俱全呦,关键是技术问题!). 数据库:mysql ...
- 记一款bug管理系统(bugdone.cn)的开发过程(1) -- 为什么要开发一款bug开发系统
对于从事软件研发行业的同学来说bug管理系统肯定不陌生.本人03年左右开始正式成为一名码农,工作期间接触过若干bug管理系统,如JIRA等,不过都是自行部署在公司内网的. 几年过去了,现在已经是互联网 ...
- [项目分享]JSP+Servlet+JDBC实现的学生信息管理系统
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/liu_xu111/JavaWeb01 这次分享一个学生管理系统,我感觉这是程序员在大学时期的毕设和课程设计选择最多 ...
- [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found
google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...
- 开发一个Servlet示例
Servlet响应请求步骤: Servlet是一个基于Java技术的Web组件,运行在服务器端,用户利用Servlet可以很轻松地扩展Web服务器的功能,使其满足特定的应用需要.Tomcat是一个常用 ...
- JavaWeb知识回顾-使用IDEA开发一个servlet.
刚刚开始学习使用IDEA进行开发,好多都不会,本来想直接导入一个eclipse项目,但是出现了好多错误,一时不知道怎么修改,所以就从最基本的servlet开始着手,慢慢熟悉这个工具,下面是使用IDEA ...
随机推荐
- vb.net三层实现登录例子
看三层已经很长时间了,中间有经过了期末考试.回家等等琐事,寒假开学的我已经回想不起什么事三层了,经过了三四天的重新复习,再加上查看各期师哥师姐的博客,终于,自己完成了C#视频中的登录小例子,下面就和大 ...
- Unrecognized Windows Sockets error: 0: JVM_Bind
Unrecognized Windows Sockets error: 0: JVM_Bind [转帖]今天很是奇怪,在运行服务器端的时候,经常遇到这个异常: java.net.SocketExcep ...
- 使用java自带的定时任务ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类: JDK api里是这么说的: ThreadPoolExecutor,它可另行安排在给定的延迟后运行 ...
- 2016.6.17 kali Linux 隧道工具
隧道工具的基本概念: 1.在计算机网络中,隧道工具是指使用一种网络协议去封装另一种网络协议的技术. 2.通常用来数据伪装或者穿越防火墙,在入侵目标系统后,可用来提升权限和权限维持. Kali中的隧道工 ...
- javascript优化--06模式(对象)01
命名空间: 优点:可以解决命名混乱和第三方冲突: 缺点:长嵌套导致更长的查询时间:更多的字符: 通用命名空间函数: var MYAPP = MYAPP || {}; MYAPP.namespace = ...
- ZOJ2314 Reactor Cooling(无源汇流量有上下界网络的可行流)
题目大概说一个核反应堆的冷却系统有n个结点,有m条单向的管子连接它们,管子内流量有上下界的要求,问能否使液体在整个系统中循环流动. 本质上就是求一个无源汇流量有上下界的容量网络的可行流,因为无源汇的容 ...
- LightOJ1060 nth Permutation(不重复全排列+逆康托展开)
一年多前遇到差不多的题目http://acm.fafu.edu.cn/problem.php?id=1427. 一开始我还用搜索..后来那时意外找到一个不重复全排列的计算公式:M!/(N1!*N2!* ...
- CSGrandeur的WebGL学习——WebGL教程
在线查看:http://csgrandeur.gitbooks.io/webgl-learn/content/ 离线mobi:http://files.cnblogs.com/files/CSGran ...
- 基于开源Dubbo分布式RPC服务框架的部署整合
一.前言 Dubbo 作为SOA服务化治理方案的核心框架,用于提高业务逻辑的复用.整合.集中管理,具有极高的可靠性(HA)和伸缩性,被应用于阿里巴巴各成员站点,同时在包括JD.当当在内的众多互联网项目 ...
- FlyCapture2 Qt5 MinGW Configuration
Install FlyCatprue2 to the folder "C:\PointGreyResearch\" Add the following to the .pro fi ...