ruts的工作过程
图2-2
Struts的工作过程如图2-2,当用户向Web Server发出请求时,Web Server将请求转交给ActionServlet,由Servlet决定调用哪些Action,然后根据Struts-config.xml的配置对应相应的Form来读取数据,并调用相应的业务逻辑处理方法进行处理,然后将处理后的结果传递到JSP提供给用户。
2.3 Struts的国际化
在过去,软件开发者在开发应用程序时,将注意力集中于实现具体的业务逻辑。软件面向的用户群是固定的,软件只需要支持一种语言,但是随着跨国业务的迅猛发展,需要同一软件能同时支持多种语言。对于一个已经开发好的软件如果要支持新的语言就要对软件进行国际化。
国际化指的是在软件设计阶段就应该使软件具有支持多种语言和地区的功能。这样,当需要在应用中添加对一种新的语言和国家的支持时,不需要对已有的软件进行重新编码。
一个应用程序支持国际化应该具备以下特征:
1)当应用程序需要支持一种新的语言时无需修改源码。
2)应用程序中的文本及图片资源从代码中分离出来,存储在外部。
3)根据用户的语言和地理位置进行正确的格式化。
4)可以方便快捷地对应用做出调整,使它适应新的语言和地区。
Struts对国际化的支持体现在能够输出和用户Locale相符合的文本和图片上。当Struts配置文件的
元素的Local属性为True时,Struts框架把用户的Locale实例保存在Session范围内,宁产,Struts框架能自动根据这一Locale实例来从Resource Bundle中选择合适的资源文件,当用户的Locale为英文时,Struts框架就会向用户返回来自于Application_en.properties文件的文本内容,当用户的Locale为中文时,Struts框架就会向用户返回来自于Application_ch_properties文件的文本内容。
第三章 Hibernate框架介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象编程思维来操纵数据库,Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序中使用,也可以在Servlet/JSP的Web应用中使用。
Hibernate的作用就是介于Java与JDBC之间的一个持久层,它通过建立与数据库表之间的映射来操纵数据库,Hibernate是基于JDBC之上的。
3.1 数据库操作的3个阶段
1)JDBC操作阶段
在使用Java进行数据库开发的最初数据库开发的最初阶段,都是使用JDBC类来操作数据库的:
String sql = "select * from user where username='"+username+"' and password='"+password+"'";
Try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/OA","root","root");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
While(rs.next()){
System.out.println(rs.getString(1));
}
}catch(Exception e){
e.printStackTrace();
}finally{
Rs.close();
Stmt.close();
Conn.close();
}
这一段操作代码很具有代表性,几乎所有的使用JDBC进行数据库操作的代码都需要开发如下过程的代码:
定义查询或更新的SQL语句;
加载数据库驱动程序;
创建数据库连接;
创建申明对象;
执行查询或更新;
关闭结果集对象,申明对象,数据连接对象。
使用这种方法的缺点是:代码重用度小,数据库处理的代码过多,不能突出业务处理逻辑。
2)封装JDBC的阶段
为了改进JDBC操作的不足,我们可以将JDBC的