前几天帮一个朋友写了个简单的彩票系统,因为只是一个很简单的应用,所以在技术选型的时候,尽量选用的简单,容易上手的,没有采用很重的框架!写完后给自己简单做个笔记
技术选型:jsp + servlet + javabean + jdbc + mysql + tomcat 构建采用maven,因为这个太简单了,搭建起来,跟ant比。不用写一大堆得东西!
mvnc model 1 模型,看到这些东西就知道是很早起的软件主流技术了,但是现在写起来还是存在很多问题,太久没折腾这些东西了!都是些基础性的东西
问题1:jsp中如何使用 jstl标签
step1) 需要下载jstl包 早maven得pom.xml中添加:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
step2) 将这个包中的 c.tld 放到 src/main/webapp/WEB-INF/下 (因为我只用到了 c标签)。其他的只需要将所有的放下这个目录下即可!
step3) jsp页面中 添加:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page isELIgnored="false"%>
//具体使用
<c:forEach items="${allLotteryResult}" var="item" varStatus="status">
<tr>
<td>${status.index+1}</td>
<td>${item.loName}</td>
<td>${item.fullName}</td>
</tr>
</c:forEach>
allLotteryResult : request.setAttribute("allLotteryResult",allLotteryResult);
item:具体的使用对象变量
status:整个对象,较为常用的就是这个 index表示下标值
step4) 有一点可能会出现的问题: 在web.xml中 需要将你得头制定到你下载的servlet包
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
版本需要对,例如这里的 2_5
2.servlet中得两种跳转方式
内部跳转;
RequestDispatcher view = req.getRequestDispatcher(url);
view.forward(req, resp);
s1 这个过程其实经历了两次跳转
s2 只能在内部进行跳转
s3 可以将跳转过程中设置的参数带到页面
外部重定向:
resp.sendRedirect(url);
不会将请求中设置的参数带过去,要像带参数的话 只能通过 ?xx=xx&bb=bb的方式
可以请求外部地址,这个url可以是 www.baidu.com等
3.web.xml中如何配置 servlet
<servlet>
<servlet-name>levelManager</servlet-name>
<servlet-class>com.sample.web.level.LevelManager</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>levelManager</servlet-name>
<url-pattern>/level/levelManager.do</url-pattern>
</servlet-mapping>
在做的时候悲剧的发现 自己连.do这种设置方式都忘记了。可能在用公司框架的东西用傻了!
4.service层采用的是领域建模中提倡的那种 BO+service(服务)的方式来处理业务逻辑。其实本身也没什么特别复杂的业务逻辑,基本就是CURD操作
5.DAO这层,封转了一个DAOTEMPLATE + JDBCUtil,将一些公用的CURD进行了处理。不过在写的时候没有特别的注意抽取出接口,偷懒了!
用JDBC操作数据库就下面几个核心步骤,刚入行的时看得还是挺难得,现在来看,只是使用API的方式还是很简单的东西
url = "jdbc:mysql://localhost/lottery?useUnicode=true&characterEncoding=GBK&jdbcCompliantTruncation=false";
username = "lottery";
password = "123456";
driverName = "com.mysql.jdbc.Driver";
1.注册数据库驱动
Class.forName(driverName);
2.建立连接
DriverManager.getConnection(url, username, password);
3.准备SQL数据:
4.执行并处理返回结果
5.关闭连接
Connection 连接
PreparedStatement 操作SQL对象
ResultSet 结果集合
需要注意的是 设置参数是从1开始的 :
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = jdbcUtil.getConnection();
ps = conn.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
ps.setObject(i + 1, args[i]);
}
rs = ps.executeQuery();
Object obj = null;
while (rs.next()) {
obj = rowMapper.rowMapping(rs);
}
return obj;
} finally {
jdbcUtil.close(rs, ps, conn);
}
分享到:
相关推荐
总结,将Django当作微架构,意味着我们可以将复杂的大项目分解为多个独立、可维护的小应用,每个应用都在一个单独的文件中进行轻量级封装。这种做法不仅提高了代码的可读性和可维护性,还促进了模块化的开发方式,...
spring适用于扩展的详细笔记,针对《spring 3.x 企业应用开发实战》写的 详细总结,涵盖自己的心得体会
一、数理统计在交通问题中的应用 数理统计可以应用于解决交通问题,例如分析天津某车站的人数分布,以确定其是否服从 Possion 分布。通过这种分析,我们可以更好地了解交通系统的规律,从而更好地规划和管理交通...
总结,创建一个"C#写的小闹钟"项目涉及C#的UI设计、事件驱动编程、多线程处理、系统通知、数据持久化等多个知识点。通过这个项目,开发者不仅可以提升C#编程技巧,还能加深对Windows应用程序开发的理解。无论是初学...
**创建第一个MFC应用程序** Microsoft Foundation Class (MFC) 是微软提供的一套C++类库,它基于Windows API,使得开发者能够更容易地构建Windows应用程序。本教程将详细讲解如何使用Visual Studio来创建你的第一个...
总结起来,这个工具解决了笔记本用户在没有物理Caps Lock指示灯时的困扰,提供了一个直观的方式来监控键盘的大小写状态,提高了输入效率和准确性。对于经常需要在不同设备间切换工作的用户,尤其是程序员、文案工作...
该方案基于一个基本的公式:根据屏幕大小除以750来动态计算html的font-size,从而保证字体大小能够根据不同的屏幕尺寸作出自适应变化。实际上,还可以根据设备的像素比设置scale的值,使视口device-width保持等于...
例如,在SQL Server中创建或修改一个列时,可以指定一个区分大小写的排序规则,如下所示: ```sql ALTER TABLE users ALTER COLUMN PASSWORD nvarchar(50) COLLATE Chinese_PRC_CS_AS ``` 在这段代码中,`Chinese_...
学校生学习总结范文_学校生学习总结怎么写.docx
本项目是对XML文件读写操作的综合总结,旨在提供一个实用的XML处理工具集。 首先,我们要关注的是“封装好的XML文件的读和写工程”。在编程中,通常我们会创建类或函数库来简化XML文件的操作。读取XML文件时,我们...
根据文件内容的描述,可以推测该文档可能并不是一个长篇幅的文章或者报告,而更有可能是一份包含26个英文字母及其大小写形式的清单。此外,内容中提到了OCR扫描技术,这意味着该PDF文档可能是从纸质文件或图片转换而...
客户端看到的是一个高性能的虚拟服务器,而实际服务由多个节点协作完成。 1. **实现原理** 负载均衡通常通过中间层实现,该中间层拦截应用程序与数据库之间的直接通信,根据策略决定将请求路由到哪个数据库。这...
应用文的另一个特点是主旨单一、集中、明确。在撰写时,作者需要清晰地表达出意图,避免过多的修辞和冗余信息,以确保信息传递的有效性和准确性。此外,应用文的语言要求准确、简明、平易和庄重,避免使用模糊不清或...
标题中的“ios-模仿QQ布局写的一个小项目,以及腾讯广告SDK的应用”表明这是一个iOS开发的项目,其中包含了对QQ布局的模仿实现以及腾讯广告SDK的集成应用。在这个项目中,开发者可能旨在学习和实践iOS界面设计,尤其...
标题中的“用Qt4写的将mini2440应用程序结合在一起的一个程序”表明这是一个使用Qt4框架开发的应用,目标平台是mini2440。Qt4是一个流行的、跨平台的C++图形用户界面库,广泛用于创建桌面和移动应用程序。而mini2440...
总结来说,这个基于C#窗体应用的抽奖小程序是一个结合了C#编程、窗体设计、随机数生成和条件控制的实践案例。它的实现不仅涉及基础的编程技巧,还展示了如何在实际场景中应用这些技术,满足特定需求。对于学习C#和...
"OpenCV应用总结" OpenCV 是一个开源的计算机视觉库,由 Intel 公司开发,现已被 Willow Garage 维护。它提供了大量的图像处理和计算机视觉功能,可以应用于图像和视频处理、机器学习、对象识别、人脸识别、图像...
此外,子查询(Subquery)也是进阶查询的重要部分,它可以在一个查询中嵌套另一个查询,实现对数据的更灵活筛选。 在DDL方面,理解如何创建、修改和删除数据库表结构是关键。这包括定义字段类型、长度、是否允许为...
总结起来,这个小游戏虽然代码量少,但它巧妙地利用了MFC的类库来快速构建应用程序,并通过`ShellExecute()`函数与Windows系统进行深度交互。这样的设计展示了高级框架如何简化编程任务,同时也体现了Windows API的...
1. **理解总结的本质**:总结是对原文的一个缩短版,只包含文章的核心要点。它必须用你自己的话来表述,而不是直接复制原文的句子。 2. **注意要点**:撰写好的总结需要注意以下几点: - **避免直接引用**:应尽量...