javaEE学习笔记 - 元宝1991
javaEE学习笔记
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>