TA的每日心情 | 开心 2016-1-24 12:54 |
---|
签到天数: 28 天 [LV.4]偶尔看看III
|
第十讲
1、MVC模式分析
对任何功能来说,首先考虑人如何来使用这个功能。如何把人的请求发送给系统,系统如何把处理的结果返回给用户,实际上就是输入和输出。输入MVC模式中的V部分。
输入:用户发送请求,通过超链接,通过浏览器的地址栏,通过表单提交。请求时候如何要提交数据,在超链接中以及地址栏中可以通过?的形式来传递值,表单方式通过表单元素提交信息。非常典型的应用,隐藏域,用于在多个页面之间传递信息。注意:输入一定要进行客户端的格式验证。
输出:主要服务器得到的信息显示给用户。输出提示信息:${info} 输出对象信息:在更新界面中显示信息${book.bookid} 输出多个对象的信息:
<c:forEach var="book" items="${books}">
<tr>
<td>${book.bookid}</td>
<td>${book.bookname}</td>
<td>${book.author}</td>
<td>${book.price}</td>
<td>${book.publisher}</td>
<td> <a href="deleteBook?bookid=${book.bookid}">删除</a> </td>
<td> <a href="findBookByID?bookid=${book.bookid}">修改</a> </td>
<td> <a href="addToCart?bookid=${book.bookid}">添加到购物车</a> </td>
</tr>
</c:forEach>
功能(M部分):通常转换成方法。因为Java是面向对象的语言,方法应该输入某个类的。所以通常需要创建JavaBean(比较特殊的类),然后在JavaBean中添加这个方法。方法的实现主要依赖你的Java基本功。
控制器(C部分):通常使用Servlet来实现。对于控制器需要记住4句话:获取信息;调用JavaBean;保存信息;响应。
获取信息:
获取请求信息request.getParameter(paraname) request.getParameterValues(paraname)
获取session中信息 session.getAttribute(属性名) 注意:获取到之后需要进行强制类型转换
获取Cookie中信息 request.getCookies() 返回的是Cookie数组
获取请求头信息
获取Servlet的配置信息
通过其他的JavaBean来获取一些信息
调用JavaBean的方法:
实例化,使用new加上构造方法来实例化,如果要调用的方法是静态方法,不需要实例化。
初始化,可能需要使用上面获取的信息来对JavaBean进行初始化。
调用方法,可以通过参数传递需要的信息
保存信息(主要为后续的页面和处理服务的):
保存到session中,session.setAttribute(属性名,要保存的对象),供用户后续的所有访问过程使用。
保存到request中,request.setAttribute(属性名,要保存的对象),供后续页面使用(页面与当前的Servlet属于同一次请求)
保存到cookie,Cookie cookie = new Cookie("name","value"); response.addCookie(cookie); ,供客户端在以后的时间访问
响应:
直接输出:
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("欢迎学习JSP!");
使用专门的文件进行响应:
方式一:
RequestDispatcher rd = request.getRequestDispatcher(目标文件);
rd.forward(request,response); // 完成跳转
方式二:
response.sendRedirect(目标文件);
注意:如果当前功能完成的是对数据库的插入操作,如果用户刷新就会产生错误。要避免错误,不能使用RequestDispatcher,可以使用方式二。如果使用方式二,就不能在当前文件和目标文件之间通过request共享信息了。如果要共享可以session,使用session的时候,用完之后一定要删除这个对象session.removeAttribute(属性名)。
2、如何使用其他的数据库管理系统
准备工作:
1)安装数据库;创建表。(这个过程通常是由数据库管理员完成的,对于变成人员来说需要知道数据库的IP地址、端口、数据库名字、用户名、口令)。
2)要得到数据库的JDBC驱动程序,通常是压缩包,可以从响应的数据库提供商的网站上下载。需要把驱动程序放在:C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib 或者应用的WEB-INF/lib下面。
在程序中使用:
与现在使用JDBC-ODBC桥方式基本相同,不同点在于:驱动程序的名字;URL(通常包含IP地址、端口、数据库名字)的格式不同(与驱动程序有关);用户名和口令。
常见的错误:
1)ClassNotFoundException 通常是因为JDBC驱动程序加载失败,找不到。确认JDBC驱动程序在正确的位置以及版本是否正确。
2)没有合适的驱动程序 Not a suitable driver 通常是因为URL的格式不正确。
3)连接不能被创建,数据库服务器没有正常运行获取主机、端口、数据库名有误。
4)Access Denied 用户名和口令错误
5)java.sql.SQLException 通常SQL语句错误。 |
|