javaEE学习笔记 - 元宝1991

yuanbao1991 2021-08-27 原文


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>

 

posted on
2016-03-02 10:01 
元宝1991 
阅读(244
评论(0
编辑 
收藏 
举报

 

版权声明:本文为yuanbao1991原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yuanbao1991/p/5233801.html

javaEE学习笔记 - 元宝1991的更多相关文章

  1. 数学物理工具PMTools Ver 1.0 发布 – 软件商

    数学物理工具PMTools Ver 1.0 发布 2015-09-06 08:41  软件商  阅读(242) […]...

  2. onlyoffice新版5.1.2版解决中文汉字 – lydstory

    onlyoffice新版5.1.2版解决中文汉字 onlyoffice新版5.1.2版解决中文汉字...

  3. Jquery(01)jQuery的下载以及使用 – springsnow

    Jquery(01)jQuery的下载以及使用 一、概述 1、版本选择 jquery官网 jQuery的版本有 […]...

  4. 增强型51单片机定时器2与串行通讯应用 – Code_HXH

      这里我们主要说的是波特率和定时器2的应用.   一般来说,我们串口通讯用到的都是异步串行通讯,工作的方式为 […]...

  5. 微信自动打卡 – Mark·H

    微信自动打卡 要有第二台安卓 手机,打开usb、adb调试,永不锁屏,永不休眠,手机安装了微信并至少成功登陆过 […]...

  6. 成都市新社保卡线上申请方法(无需线下办理,手机直接搞定) – 你不知道的巨蟹

    成都市新社保卡线上申请方法(无需线下办理,手机直接搞定)      官方消息,从2019年11月1日起,成都市 […]...

  7. SEED-DTK VPM642多媒体图像处理实验系统方案 – $等待$

    SEED-DTK VPM642多媒体图像处理实验系统方案 2009-11-25 19:40  $等待$  阅读 […]...

  8. activiti整合在现有系统,业务绑定,流程在线设计@附源码 – 金陵老街

    activiti整合在现有系统,业务绑定,流程在线设计@附源码 前言 目前市场上有很多开源平台没有整合工作流, […]...

随机推荐

  1. 百度搜索API

    最近需要做一个爬取新闻网站的项目,但考虑到各个网站的搜索api都不同,且准确性较低,所以我想到了百度的高级搜索 […]...

  2. 大学想报计算机专业,暑假想要自学,有哪些建议?

    ​大家好,我是白云。 ​ 有个粉丝朋友私信问我:今年刚高考完,想报计算机专业,想暑假自学,应该怎么学?今天老白 […]...

  3. 记一次erlang语言bug导致rabbitmq的队列没有消费者的问题

      公司开发和测试环境采用的erlang版本是19.0.3,rabbitmq版本为3.6.10。集群条件下稳定 […]...

  4. flutter环境搭建

    flutter环境搭建 安装 安装 flutter SDK git clone https://github. […]...

  5. 定时启动和关闭指定程序的方法

    原文一:http://www.qs-168.com/computer/weihu0115/tools0116/ […]...

  6. 钉钉静默安装

    钉钉静默安装 ## 背景 要在内网指部署钉钉。 ## 结论 命令行: DingTalk_v4.5.15.31 […]...

  7. 使用科大讯飞语音转文字的服务进行电话录音分析

    需求 合规性质检:1)设定规则,实现自动质检,自动打分;2)如VOC文本质检可与语音文字进行匹配,自动判断是否 […]...

  8. spring xdoclet使用

    手工书写spring-beans.xml非常繁琐,而且如果多个程序员同时进行一个项目的时候,即使分成多个spr […]...

展开目录

目录导航