一、          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  关闭连接对象

javaWeb学习笔记的更多相关文章

  1. JavaWeb学习笔记总结 目录篇

    JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...

  2. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  3. 【JAVAWEB学习笔记】06_jQuery基础

    接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...

  4. javaweb学习笔记(二)

    一.javaweb学习是所需要的细节 1.Cookie的注意点 ① Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任意值,创建后允许被修改. ② 关于Cookie中的setMaxAg ...

  5. Javaweb学习笔记(一)

    一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...

  6. JavaWeb学习笔记之Servlet(一)

    1. 引子: 当我们开始进入JavaWeb开发的学习时,我们就必须要和Servlet和HTTP这两个词进行打交道了,尤其是Servlet.即使到了后面使用JSP (我们知道JSP其本身就是一个Serv ...

  7. 【JAVAWEB学习笔记】09_MySQL多表&JDBC(包含MySQL数据库思维导图)

    今天晨读单词: order:订单constraint:(强制)约束foreign key:外键references:指向orderitem:订单项join:加入resourceBundle:资源捆绑c ...

  8. Javaweb学习笔记——(二十三)——————AJAX、XStream、JSON

    AJAX概述     1.什么是AJAX         ajax(Asynchronous JavaScript and xml) 翻译成中文就是"异步JavaScript和xml&quo ...

  9. Javaweb学习笔记——(二十一)——————过滤器

    过滤器     过滤器概述         1.什么是过滤器:             过滤器javaweb三大组件之一,它与Serlvet很相似,不过它过滤器是用来拦截请求的,而不是处理       ...

  10. Javaweb学习笔记——(十三)——————JSTL、JSTL核心标签库、自定义标签、有标签体的标签、带有属性的标签、MVC、Javaweb三层框架

    JSTLApache提供的标签库 jar包:jstl-1.2.jar,如果传MyEclipse,他会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入.--------- ...

随机推荐

  1. yii2.0 事务

    $transaction=\Yii::$app->db->beginTransaction(); $model=Customer::findOne(1); $model->name= ...

  2. notepad 行替换使用指南

    notepad++是开源的文本处理软件,性能堪比ultraedit,不过在转用notepad++之后一直为他的行替换功能纠结,UE当中只需要用 [^p] 就可以表示一行,但是在notepad++当中, ...

  3. 剑指offer-第二章排序之年龄排序

    题目:对某个公司的人的年龄(0-99)进行排序,该公司的总人数为几万人.要求时间复杂度为O(n),可以辅助O(n)的空间. 思路:实现函数为void SortAge(int ages[],int le ...

  4. requirejs之demo (转)

    具体的理论就不讲了,可以参考 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html http://www.ruanyifeng.c ...

  5. Java把长整型时间转成字符串日期

    数据库里存放的是timestamp格式,前端取得后是这种:1436255550710长整型时间截转换成"2015-07-07"这种格式呢? import java.io.IOExc ...

  6. 关于asp.net中页面事件加载的先后顺序

    一.ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件 ...

  7. lua的三目运算符

    会lua的都知道三目运算符在lua中的写法是 a and b or c 但这里有个问题,就是当b是nil的时候会返回c的值 今天无意中看到一个大神的写法 (a and {b} or {c})[1] 不 ...

  8. 自定义控件如何给特殊类型的属性添加默认值 z

    定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚 标题有点那啥,但确实能表达我掌握此法后的心情. 写自定义控件时往往会有一个需求,就是给属性指定一个默认值(就是可以在VS中右键该 ...

  9. 如何在Docker中部署DzzOffice

    一.一些背景 之前研究Docker很久了,并且在公司内部实际使用起来了,目前分两种场景使用Docker 1.作为PAAS,提供一致,统一的编译/测试环境: 2.作为虚拟机,直接分配给新来的开发人员使用 ...

  10. XML Schema 简介

    XML Schema 是基于 XML 的 DTD 替代者. XML Schema 可描述 XML 文档的结构. XML Schema 语言也可作为 XSD(XML Schema Definition) ...