javaWeb学习笔记

一、          web.xml

 

--------------------------------------------------------------------------------------------------------------------------

启动一个web项目时,web容器会读取配置文件web.xml

index.jsp是默认优先访问的。

<welcome-file-list>
        <welcome-file>xxx.jsp</welcome-file>
    </welcome-file-list>

添加以上配置信息可以修改首页显示。

注:需要严格按照标签排列顺序进行添加

--------------------------------------------------------------------------------------------------------------------------

Tomcat启动时就执行的servlet配置。

在对应的<servlet>标签下添加以下配置信息。

(这个servlet就不需要重新配置mapping)。

<load-on-startup>1</load-on-startup>

启动tomcat时按照加载等级初始化servlet,数字越大加载顺序越靠后。

这样在tomcat启动时会调用servlet的init方法。可以在init方法中初始化公用资源信息等等 。

ServletConfig对象

servlet config对象可以使用一个或多个<init-param>标签为servlet配置一些初始化参数,servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

 

二、          JSP路径问题

 

--------------------------------------------------------------------------------------------------------------------------

JSP文件是否有必要放在WEB-INF

放到WEB-INF下的JSP文件,如果你直接去访问这个JSP是不可以的,必须通过Action的跳转。

对于用户,一些是可以直接访问的,如登录、注册页面。根据系统的需求,可以直接放在webroot下。

现在的mvc模式,JSP而仅仅充当view层的模板,必须要填入model数据后进行渲染,才能生成可读的页面,这样的模板是不能让用户直接访问的。直接访问的话要么是一堆各种空白,或者一堆占位符,甚至一堆NullPointException。

“安全性问题”指的是“不允许你访问,否则会对我不好”。这里的情况是“不建议你访问,否则会对你不好”,属于健壮性的范畴。

三、         JDBC连接数据库

--------------------------------------------------------------------------------------------------------------------------

1、  加载JDBC驱动程序

连接数据库前,加载数据库驱动到JVM,Class.forName(“com.mysql.jdbc.Driver”);

2、  创建数据库连接

Connection con = DriverManager.getConnection(url, username, password);

3、  创建Statament

l  静态SQL语句:Statament实例

l  动态SQL语句:PreparedStatement实例

l  数据库存储过程:CallableStatement实例

 

Statement stmt = con.createStatement();

PreparedStatement pstmt = con.prepareStatement(sql);

CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}");

4、  执行SQL语句

l  ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。  

l  int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等  

l  execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

5、  关闭JDBC对象

l  关闭记录集

l  关闭声明

l  关闭连接对象

posted @ 2016-09-07 22:50  dreamerjdw  阅读(116)  评论(0编辑  收藏  举报