教案:转换课程第4章Java Web技术基础

由于种种原因,部分内容被隐藏,请大家原谅。

如果有什么问题,可以与我联系,我会尽快解答。

如果你觉得这篇文章对你有用,请回贴,谢谢。

授课教师:牟勇

课时:100分钟

l 本章技能目标

n掌握log4j的用法,能够记录异常日志

n掌握sendRedirect与forward区别

l 本章重点

nlog4j的用法

nsendRedirect与forward的区别

l 本章难点

nsendRedirect与forward的区别

l 本章工作任务

u 使用log4j记录异常日志

u 从页面上添加新闻一级标题,并保存至数据库中

l 整章授课思路

n本章共有两个知识点:log4j的使用,response对象。

nlog4j的使用:首先说明什么是日志,有什么用,之后再说明在eclipse下的操作步骤。

n之后制作添加新闻一级标题,并保存至数据库中。

n最后,说明response对象的作用及它的两个方法的区别。

回顾: [5分钟]

innerHTML属性有什么用

简述即时错误提示特效的制作思路

预习检查: [5分钟]

在Eclipse中使用log4j的步骤是什么?

在JSP中,response.sendRedirect() 与 request. getRequestDispatcher().forward()区别是什么?

课程知识点讲解: 使用log4j记录日志信息[40分钟]

引入:出示案例AccpTeacherTest。并说明:以前当程序出错时,我们的错误信息都是输出在控制台,如果我们需要把错误信息保存下来,我们应该怎么办?

答案:可以使用log4j

什么是日志

日志:用来记录一些重要的操作信息

有价值的日志数据能够帮助用户提前发现和避开灾难,并且找到事件发生的原因。

如何使用log4j记录日志

第一步:在工程中加入log4j所使用的jar文件

v 项目 à 属性 :弹出项目的属性窗口

v Java构建路径à库à添加外部JAR:弹出选择JAR的窗口

v 通过选择JAR的窗口,找到log4j-1.2.x.jar,并确认

v 回到项目的属性窗口,点击确定

第二步:创建log4j.properties文件

v 选择欲使用log4j的项目à右键点击src à新建à其他 :弹出选择向导窗口

v 在选择向导窗口中,选择常规à 文件à 下一步:弹出新建文件的窗口

v 在新建文件窗口中,输入文件名log4j.properties à 完成:创建工作结束

第三步:使用log4j记录日志信息

import org.apache.log4j.Logger;

public class AccpTeacherLog4j {

public static void main(String[] args) {

AccpTeacher teacher = new AccpTeacher();

Logger logger = Logger.getLogger(AccpTeacherLog4j.class.getName());

try {

logger.debug("设置教员的编号。");

teacher.setId("088");

} catch (IllegalArgumentException ex) {

logger.info(ex.getMessage());

}

}

}

教员讲解重点代码(红色部分)

第四步:编写log4j.properties文件,配置日志信息

### 把日志信息输出到控制台 ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

### 把日志信息输出到文件:accp.log ###

log4j.appender.file=org.apache.log4j.FileAppender

log4j.appender.file.File=accp.log

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n

### 设置优先级别、以及输出源 ###

log4j.rootLogger=debug, stdout, file

教员应说明属性文件各参数的含义。

运行效果展示

控制台:

文件:

小结1

修改log4j.properties文件,设置优先级为info,在控制台以及accp.log文件中将会输出什么内容?

public class Test {

public static void main(String[] args) {

new Test().test();

}

public void test() {

try {

int[] arr = new int[3];

arr[3] = 2;

System.out.println("try");

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("catch 1");

} catch (Exception e) {

System.out.println("catch 2");

} finally {

System.out.println("finally");

}

}

}

答案:将只输出使用Logger对象的info方法输出的日志信息

添加新闻一级标题[40分钟]

引入:log4j在实际项目中应用是非常广泛的,特别是对于那些处于测试运行状态的项目,我们不需要时刻监视运行状态,只要每天固定时间查看一下日志文件就可以了。下面我们来做一个项目:添加新闻一级标题。

新闻发布系统,要求如下:

从页面上添加新闻一级标题,并保存至数据库中

如果保存成功,返回成功页面

如果保存失败,返回失败页面

步骤:

第一步:创建页面

v 创建一级标题的发布页面(createLevelOneTitle.jsp)

v 创建发布成功页面(success.jsp)

v 创建发布失败页面(error.jsp)

第二步:创建数据库访问类

v 创建数据访问类FirstLeveTitleDbOpreation

v 建立方法 getNewId():用来获取新闻一级标题表中最大的ID,并对它加一,作为新的一级标题的ID

v 建立方法insertOneRecord(FirstLevelTitle fTitle):用来向数据库中插入一条新闻一级标题

演示创建的效果。

JSP内置对象response

response对象用于响应客户请求并向客户端输出信息

response 对象常用方法

void sendRedirect (String location):将请求重新定位到一个不同的URL

题目:在首页面(input.jsp)上输入用户名、密码,提交至input2.jsp进行处理

如果输入的用户名、密码都是sa,跳转至欢迎页面(welcome.jsp)

<%

request.setCharacterEncoding("GBK");

String name = request.getParameter("userName");

String pwd = request.getParameter("pwd");

if(name.equals("sa") && pwd.equals("sa"))

response.sendRedirect("welcome.jsp");

%>

教员讲解重点代码(红色部分),并说明它与request. getRequestDispatcher().forward()的区别(可更换代码,让学员看到结果)

本章总结 [10分钟]

在Eclipse中使用log4j分为几步,分别是什么?

从用户添写表单到JSP返回响应的过程是怎样的?

在JSP中,response.sendRedirect() 与 request. getRequestDispatcher().forward()区别是什么?

考核点

log4j的参数

response.sendRedirect() 与 request. getRequestDispatcher().forward()区别

扩展部分:

log4j的配置文件

学员问题汇总:

暂无

作业:

习题1:113页至114页选择题

习题2:114页第1,2,3题

习题3:预习第五章,试做课后的选择题最好的节约是珍惜时间,最大的浪费是虚度年华。

教案:转换课程第4章Java Web技术基础

相关文章:

你感兴趣的文章:

标签云: