1.JSP出现的原因?
JSP就是servlet,servlet是java类,用拼串方式组织html代码,不是可见即可得,不易修改。jsp可以在html中嵌入java代码,简化开发。
***2.写一个JSP程序:放于test-jsp项目下,不用配置web.xml. 要求:此处注意与servlet的区别。
<html>
<head></head>
<body>
<%
out.println("HelloWorld");
%>
</body>
</html>
3、jsp到servlet
out.write(html代码); java代码原封不动。
4.jsp运行原理
请求到达tomcat,tomcat将jsp编译成servlet.调用service方法。然后返回html字符串。

jsp第一次调用会将jsp编译成servlet,未修改将不再编译。所以只编译一次。
5.变成servlet,只编译一次。
6.jsp基本语法
<%! %>
<% %>
<%= >
7.directive--page编译指令 注意方向:tomcat发给浏览器 action 运行指令
<%@page import="" pageEncoding="" contentType="" session=""%>
后面两个相当于 response.setContentType("text/html;charset=GBk");
8.get与post的区别
get url后面 协议头 post 协议体中
9.注意jsp与servlet在session方面的不同 是否自动创建方面
servlet除非用getSession的语句才会创建。
jsp
<%@page session="true|false"%>
10.jsp内置对象有几个,分别是?
11.转发与重定向区别 地址栏是否改变 是否任意url 是否共享request数据
drp项目89---94
xml部分
1.web.xml中的<welcome-file-list>设置欢迎页面
<welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>
请问:为何项目的第一个页面会自动到登录界面,是如何设置的?
welcome-file-list tomcat中有默认设置,会找index.html 、index.htm 、index.jsp
2.加入数据库驱动 WEB-INF \lib\ojdbc
3.xml相关内容学习(如何写,如何读) 基于XML的数据交换 注意与html的区别 xml的标签可以随便写

XML 扩展标记语言 ≈html 描述事物本身
XSL 扩展样式语言 ≈css 同一个xml用不同风格显示
DTD 约定xml标签
schema 约定xml标签、类型 schema取代dtd. schema文件后缀:.xsd

xml解析(两种访问模型):DOM 与SAX
DOM 一次性读入xml文件,适合小文件。
SAX 一部分一部分读,适合大文件 simple api for xml
DOM4J j是java的意思
写:sys-config.xml
<?xml version="1.0" encoding="UTF-8"?> <config> <db-inf> <driver-name>oracle.jdbc.driver.OracleDriver</driver-name> <url>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</url> <username>system</username> <password>tangyuan</password> </db-inf> </config>
读:WEB-INF\lib\dom4j.jardom4j-1.6.1.jar
ConfigReader.java
package com.drp.DBUtil;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
/*
* 读取xml配置文件system-config
*/
public class ConfigReader {
private Document doc;
private JdbcInfo dbInfo;
private JdbcInfo JdbcInfo;
// 采用单例模式
private static ConfigReader instance = new ConfigReader();
private ConfigReader() {
try {// 看2:要求:知道如何读入一个xml文件
doc = new SAXReader().read(Thread.currentThread()
.getContextClassLoader().getResourceAsStream(
"sys-config.xml"));
// 看1:要求:知道这种写法 xpath前还有一个/,表示从根开始
Element driverNameElement = (Element) doc
.selectObject("/config/db-inf/driver-name");
Element urlElement = (Element) doc
.selectObject("/config/db-inf/url");
Element usernameElement = (Element) doc
.selectObject("/config/db-inf/username");
Element passwordElement = (Element) doc
.selectObject("/config/db-inf/password");
dbInfo = new JdbcInfo();
dbInfo.setDriverName(driverNameElement.getStringValue());
dbInfo.setUrl(urlElement.getStringValue());
dbInfo.setUsername(usernameElement.getStringValue());
dbInfo.setPassword(passwordElement.getStringValue());
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static ConfigReader getInstance() {
return instance;
}
public JdbcInfo getJdbcInfo() {
return dbInfo;
}
public static void main(String[] args) {
System.out.println(ConfigReader.getInstance().getJdbcInfo());
}
}
doc = new SAXReader().read(Thread.currentThread()
.getContextClassLoader().getResourceAsStream(
"sys-config.xml"));
xpath需要引入一个包,jaxen-1.1-beta-6.jar
Element driverNameElement = (Element) doc
.selectObject("/config/db-inf/driver-name");
一个读取xml的小例子:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadXML {
public static void main(String[] args)
{
try{
Document doc=new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("first.xml"));
Element nameElement=(Element)doc.selectObject("/name");
System.out.println(nameElement.getStringValue());
}
catch(DocumentException e)
{
e.printStackTrace();
}
}
}
first.xml
<?xml version="1.0" encoding="UTF-8"?> <name> teddy </name>
浙公网安备 33010602011771号