`

写的一个小应用总结

 
阅读更多

 

前几天帮一个朋友写了个简单的彩票系统,因为只是一个很简单的应用,所以在技术选型的时候,尽量选用的简单,容易上手的,没有采用很重的框架!写完后给自己简单做个笔记

 

技术选型: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);
        }   

 

 

 

             

 

 

 

 

分享到:
评论

相关推荐

    spring应用开发总结

    spring适用于扩展的详细笔记,针对《spring 3.x 企业应用开发实战》写的 详细总结,涵盖自己的心得体会

    学校生学习总结范文_学校生学习总结怎么写.docx

    学校生学习总结范文_学校生学习总结怎么写.docx

    新手linux的小总结

    一个初学者写的linux小总结,包含了lunux的概述和部分基础语句的应用

    年终总结ppt模板

    年终总结ppt模板(年终工作总结ppt),2014年又准备到尾声... 年终总结怎么写 年终总结是人们对一年来的工作学习进行回顾和分析,从中找出经验和教训,引出规律性认识,以指导今后工作和实践活动的一种应用文体。年终总结

    移动应用开发-大作业-项目总结.doc

    Vue_Demo_音乐_电影评论详细报告,是一次Vue大作业时候写的报告,包括设计、需求分析、功能介绍等。

    android安卓app开发教程之--总结了50条安卓开发经验.zip

    34. 建议整个应用维护一个dbhelper实例,只要db没有关闭,全局就只有一个db实例,多线程并发写入db不会lock,严格交替进行写入:123123123。。。(123代表不同线程,轮流插入一个记录),读和写均不会锁住db,读写...

    数据库系统及应用课程总结.docx

    二、学习数据库的感受 这学期开设了《数据库系统及应用》这门课,初学时感觉不是很难,比较好懂,所以我对那些要用SQLServer语句写的都是只了解一个大概,认为只要会写,差不多就够了,对理论方面的知识就更不太关注...

    基于python实现的BP神经网络手写数字识别模型实验源码+详细注释+数据集+项目说明+实验结果及总结.7z

    基于python实现的BP神经网络手写数字识别模型实验源码+详细注释+数据集+项目说明+实验结果及总结.7z 人工智能 课程作业 手写数字数据集 BP网络模型识别手写数字 反向传播(英语:Backpropagation,缩写为BP)是...

    迭代计算正余弦值学习及在FPGA上应用总结

    个人去年自己写的一份总结: 1、原理分析; 2、公式推导总结(鉴于网上的博客),分析了系数的由来;...3、在FPGA上的应用总结(绝对式编码器解码后,用FPGA算正余弦值,不用ip核) 4、没有贴代码,纯属推导分析+总结

    自己写的Android个人求职简历应用

    2013年3月第一次换工作时候写的求职APP,为了面试+分。 本打算多写几篇技术文章总结下,现在觉得比较简单就不写了。 所以只有一篇了,如下: http://write.blog.csdn.net/postedit/8539461

    计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机...

    计算机课程设计报告总结怎么写

    计算机课程设计报告的总结应该包括以下几个方面: 摘要:简要概括课程设计报告的主要内容、方法和结果。 目的和意义:总结设计的目的和意义,并说明设计对课程的贡献和实际应用的价值。 设计过程和方法:介绍设计...

    C# Winform窗体内嵌入第三方应用窗体源码,可自适应容器大小

    这一版优化了很长时间,为了实现在父容器大小改变时,第三方应用的大小可以自适应,网上的很多做法都会造成卡顿或者闪烁,最后是我结合实际应用,自己总结经验写出了这一版无卡顿,闪烁少的代码,实属不易,希望大家...

    《Android应用开发》个人总结报告.doc

    如果是一个 数据显示密集的应用,且你对UI有些追求,这个工作估计是必不可少的。 一个主要用于显示数据内容的Activity,可以选择派生自ListActivity。它提供了一个 具有ListView 的Layout,还有simple_list_item_1, ...

    python课程设计报告总结和体会.docx

    下面,我将按以下步骤进行总结: 一、学习python基础概念和语法结构 在课程一开始,我们在老师的带领下对python的基础概念和语法结构进行了学习,深入了解了python的特点和基本操作。通过课堂上的一些代码练习,我对...

    1计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机...

    3计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机...

    4计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分:电子管计算机时代、晶体管计算机时代、集成电路计算机时代和 大规模集成电器计算机时代。 3. 计算机...

    2计算机应用基础知识总结.doc

    计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2。 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. ...

Global site tag (gtag.js) - Google Analytics