jsp教程快速入门之第十讲【jsp教程】 1、MVC模式分析 对任何功能来说,首先考虑人如何来使用这个功能。如何把人的请求发送给系统,系统如何把处理的结果返回给用户,实际上就是输入和输出。输入MVC模式中的V部分。 输入:用户发送请求,通过超链接,通过浏览器的地址栏,通过表单提交。请求时候如何要提交数据,在超链接中以及地址栏中可以通过?的形式来传递值,表单方式通过表单元素提交信息。非常典型的应用,隐藏域,用于在多个页面之间传递信息。注意:输入一定要进行客户端的格式验证。 输出:主要服务器得到的信息显示给用户。输出提示信息:${info} 输出对象信息:在更新界面中显示信息${book.bookid} 输出多个对象的信息: ${book.bookid} ${book.bookname} ${book.author} ${book.price} ${book.publisher} 删除 修改 添加到购物车 功能(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驱动程序在正确的位置以及版本是否正确。 (责任编辑:面试) |
