1、JSP内置对象,及对应的servlet中的类/对象:
request -> javax.servlet.http.HttpServletRequest
response -> javax.servlet.http.HttpServletResponse
page
session -> javax.servlet.http.HttpSession
application -> javax.servlet.http.ServletContext
out
exception -> java.lang.Throwable的对象
config -> javax.servlet.ServletConfig的对象
pageContext -> javax.servlet.jsp.PageContext,可以由其得到前面的所有内置对象。注意得到
application是用getServletContext()
2、MVC模式,心得:
//下面两个对于公共的查询、添加、删除等操作可在抽象类中直接实现
//也就是要被多个其他的类访问到的方法。
//而对于特殊的操作,即比如验证用户的方法chkUser(),它只在UserFactory或子类中用到,而其它的类不
//会用到,故在子类或实现类中实现,在父类中只要定义下就得。
//这样使得模式结构清晰,便于后期代码的管理和扩展.
//(于是我们可以猜想,如果父类没有方法被其它类(除了子类)访问时,也就全部方法均是只需定义,
//这样就可简化为接口类即可,再在实现类中实现各种方法)
3、数据库连接池的实现:
设置Tomcat5\conf\Catalina\localhost\eshopping(模块配置文件名).xml如下:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:/JAVA/MyApps/JSPWEB/chapter7/eshopping" reloadable="true" path="/wchapter7">
<!--Tomcat5+mysql的连接池-->
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log" suffix=".txt" timestamp="true"/>
<Resource name="jdbc/mysql" type="javax.sql.DataSource"/><!--name:用于在.java中用javax.naming.InitialContext.lookup("java:comp/env/[XXX.xml中定义的name]")-->
<ResourceParams name="jdbc/mysql">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter><!--配置mysql数据库驱动-->
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name><!--配置数据库连接字符串-->
<value>jdbc:mysql://localhost/tbtest</value>
</parameter>
<parameter><!--用户名-->
<name>username</name>
<value>root</value>
</parameter>
<parameter><!--密码-->
<name>password</name>
<value>885123</value>
</parameter>
<parameter><!--最大连接数-->
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter><!--最大空闲连接数-->
<name>maxIdle</name>
<value>6</value>
</parameter>
<parameter><!--最大等待连接限制-->
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</Context>
然后在Tomcat5\conf\server.xml中找到标签<GlobalNaminResources></GlobalNamingResources>之间添加代码:
<ResourceLink name="jdbc/mysql" type="javax.sql.DataSource" global="jdbc/mysql"/><!--这一步可有可无-->
再在连接数据库的代码改为:
.
.
.
import javax.naming.InitalContext;
import javax.sql.DataSource;
.
.
.
.
try{
InitalContext ctx=new InitalContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");//后面的jdbc/mysql是XXX.xml中定义的<Resource name>
conn=ds.getConnection();
}
..............
JSP学习回忆1
最新推荐文章于 2008-09-12 21:58:21 发布