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>