写的一个小应用总结

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

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

 

 

 

             

 

猜你喜欢

转载自inter12.iteye.com/blog/1183010