JSP笔记

合集下载

第2章 JSP语法

第2章 JSP语法

五、Java控制结构
• 顺序结构 • 选择结构 • 循环结构
顺序结构
• 按设计时所确定的次序,一个一个语句的顺序执行 • 一般程序主体采用顺序结构,其中嵌套选择和循环结构。
选择结构控制
单选if、 双选if„else、 多选switch
if语句
if (条件表达式) 语句
条件?
True
例:
String x="男",s=""; if(x=="男") s="不能进入";
实践环节: 上机实战,验证结果
• 例3:利用Switch语句编程实现分数和等级的对应 • 0~59:E 60~70:D 70~80:C • 80~90:B 90~100:A
实践环节: 编写网页 exa2_14.jsp:表单页面,输入学生的成绩 exa2_15.jsp:根据成绩值显示成绩的等级
二、循环结构控制
知识点介绍
• 乱码问题: • ex9.jsp页面获取的信息可能是乱码(由很多?组 成),此时必须对含有汉子的字符进行特殊的处 理。
• 解决方案:在获取表单信息之前设置统一编码 • request.setCharacterEncoding("GBK");
• 例1写出程序 • • y= •
-1 0 1
案例
例1: int x=6, y=10, k=5; switch( x%y ) { case 0: k=x*y; break; case 6: k=x/y; break; case 12: k=x-y; break; default: k=x*y-x; break; } 例2: char ch='A'; int r=6; switch( ch+5 ) { case 'A': r=r+3; break; case 'B': r=r+5; break; case 'C': r-=6; break; default : } r/=2;

JSP期末考试复习资料

JSP期末考试复习资料

1-2 JSP中可重复使用的组件有哪些?JavaBean/JSP标准标签/自定义标签1—3 什么是JSP的预编译特征?答:JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP 页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。

1—8 开发JSP程序可采用哪几种开发模式?分别介绍他们的优缺点。

答:第一种:单纯的JSP页面编程优点是容易实现;缺点是程序结构混乱,维护不便.第二种:JSP+JavaBean编程优点是结构比较清晰;缺点是将流程控制放到JSP中,JSP不能单纯作为显示功能第三种:JSP+JavaBean+Servlet编程优点是层次关系明显、组件分工明确;缺点是对开发人员能力要求较高,不适合JSP初学者.2—2 什么是成员变量和局部变量?他们的区别是什么答:成员变量是在类体中变量定义部分所声明的变量;局部变量是在方法体重声明的变量和方法的参数两者的区别在于有效范围不同,成员变量在整个类内都有效,而局部变量只在定义他的成员方法内才有效。

2-3 如何创建、使用并销毁对象?答:创建对象的方法:类名对象名;对象名 = new 构造方法名([参数列表]);或者:类名对象名 = new 构造方法名([参数列表]);使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。

通过使用运算符“.”实现对成员变量的访问和成员方法的调用。

销毁对象的操作由Java提供的垃圾回收机制自动完成 .不需要手工完成销毁对象操作。

或者调用对象的finalize()方法。

3-1 JSP页面由哪些元素组成?〈!—— JSP中的指令标识 -->〈%@ page language=”java" contentType=”text/html;charset=gb2312”%〉<%@ page import="java。

第3章 JSP语法

第3章 JSP语法

运行该段代码将生成下面的HTML代码: <a href="welcome.jsp">链接到welcome.jsp</a>
20
(3) 动态指定Form表单处理页面,例如下面的代码:
<% String name="logon.jsp"; %> <form action="<%=name%>"></form>
isErrorPage属性:将该属性值设为true,此时在当 前页面中可以使用exception异常对象。若在其他页 面中通过errorPage属性指定了该页面,则当前者出 现异常时,会跳转到该页面,并可在该页面中通过 exception对象输出错误信息。相反,如果将该属性 设置为false,则在当前页面中不能使用exception 对象。该属性默认值为false。 【例3-1】errorPage属性及isErrorPage属性的应14用
<!-- JSP表达式 -->
今天是:<%=today%>
<!-- HTML标记语言 -->
</center>
</body>
3
</html>
3.1.1 JSP中的指令标识 利用JSP指令可以使服务器按照指令的设置来执行
动作和设置在整个JSP页面范围内有效的属性。
<%@ page language="java" contentType="text/html; charset=gb2312" %>
[ isELIgnored="true|false" ]

jsp中input属性笔记

jsp中input属性笔记

3/19Jsp中<input>属性详解Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍。

1,type=text输入类型是text,这是我们见的最多也是使用最多的,比如登陆输入用户名,注册输入电话号码,电子邮件,家庭住址等等。

当然这也是Input的默认类型。

参数name:同样是表示的该文本输入框名称。

参数size:输入框的长度大小。

参数maxlength:输入框中允许输入字符的最大数。

参数value:输入框中的默认值特殊参数readonly:表示该框中只能显示,不能添加修改。

<form>your name:<input type="text" name="yourname" size="30" maxlength="20" value="输入框的长度为30,允许最大字符数为20"><br><input type="text" name="yourname" size="30" maxlength="20" readonly value="你只能读不能修改"></form>2,type=password不用我说,一看就明白的密码输入框,最大的区别就是当在此输入框输入信息时显示为保密字符。

参数和“type=text”相类似。

<form>your password:<input type="password" name="yourpwd" size="20" maxlength="15" value="123456">密码长度小于15</form>3,type=file当你在BBS上传图片,在EMAIL中上传附件时一定少不了的东西:)提供了一个文件目录输入的平台,参数有name,size。

jspx学习笔记

jspx学习笔记

/**Time:2012年2月14日author: lujieContent: about jspx**/一.jspx的来源jspx 是一个来自于埃及的java web快速开发框架。

jspx 的主要目标就是打造成为一个“对开发者友好的”框架。

jspx 主要的特点包括:1. JSPX易于学习。

我们已经做到让一些只有HTML和Java基础,而对其它框架一无所知的开发新手在很短的时间内就上手投入生产。

2. 开箱即用(out of the box)的组件比如说DataTable,ListTable,Validators和Capatcha已经非常强大的,对于一般的需求绰绰有余。

3. 通过Java API来利用声明好的代码来与HTML上那些声明好的控件进行交互,是JSPX 框架的核心。

4. .jspx页面文件的特点是:根元素是<page></page>不是<html></html>。

但是页面主体还是标准的HTML的布局和标签内容。

二.Jspx配置文件<?xml version="#0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w#org/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_#xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_#xsd"id="WebApp_ID" version="#5"><display-name>jspx-demo</display-name><servlet><servlet-name>JspxHandler</servlet-name><servlet-class>.web.jspx.engine.RequestHandler</servlet-class> </servlet><servlet><servlet-name>ResourceHandler</servlet-name><servlet-class>.web.jspx.engine.ResourceHandler</servlet-class> </servlet><servlet-mapping><servlet-name>JspxHandler</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping><servlet-mapping><servlet-name>ResourceHandler</servlet-name><url-pattern>/jspxEmbededResources/*</url-pattern></servlet-mapping></web-app><%@page contentType="text/html; charset=Windows-1256"%><page xmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="/jspx. xsd"controller="jspx.demo.web.controller.PageContent"master="/masters/SiteMaster.master"<!-- -></page>三.关于Jspx的一些说明jspx是JSP 2.0中的一项重要的功能提升,jspx其实就是以xml语法来书写jsp的文件。

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
JSP开发案例教程
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件

第3章 JSP基础

第3章 JSP基础

(4) 逻辑型 逻辑型(又称布尔型)数据主要用来存放逻辑判断的结果。取值为True(真) 或False(假)。当将其他数据类型转换为逻辑数据时,非0转换为True,0转 换为False。 例如: <% boolean b1=true; boolean b2=1; boolean b3=1<2; %> 注意:数值常量一般用十进制表示,也可以用其他进制表示。十六进制表示用 0x引导,例如:0xffff为65535。 常量也可以看成一个变量,其内容为固定不变。JSP中定义这种常量, 要加关键字‚final‛。 例如: <% final int f1=2085; final char c=’a’; %>
结果(二进制)
00000010 00111111 11010101
^
<< >>
按位异或
左移 右移
00101010 | 00010111
00101010<<2 00101010>>2 11101010>>2
00111101
10101000 00001010 11111010
>>>
无符号右移
11101010>>2

compareTo(int) parseInt(String) decode(String) equals(Object) toBinaryString(int) toOctalString(int) toHexString(int) floatValue() intValue() valueOf(String)
比较两数大小。前者比后者大为1,小为-1,相等为0。 转换成整数 转换字符串为整数 比较两数是否相等 转换成二进制数字符串 转换成八进制数字符串 转换成十六进制数字符串 返回浮点数值 返回整数数值 字符串转换成整型

Jsp详解

Jsp详解

Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

不管是JSP还是Servlet,虽然都可以用于开发动态web资源。

但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。

jsp考试知识点

jsp考试知识点

《Java Web程序设计》练习题一、填空题1、JDBC对数据库的操作通过5个JDBC的类/接口来实现,它们是:DriverManager 、Statement、Connection、ResultSet和Class。

2、JSP 的英文全称是Java、Srever 、Page。

3、JSP指令元素主要有3种类型的指令,即include、taglib和page。

4、在JSP中提供了_9_个内置对象,分别是request对象、response对象、out对象、session对象、pageContext对象、exception对象、cofig对象、page对象和application对象。

5、在提交表单时有两种不同的提交方法,分别是POST和get。

6、在JSP中实现客户端和服务器的会话可使用session实现。

7、每过10分钟自动刷新的JSP语句是:response.setHeader(“refresh”,”600”)。

8、ResultSet类的.next( ) 方法可以移动记录指针到下一条记录。

9、在JSP中使用<jsp:useBean> 标记来访问JavaBean。

10、在<jsp:useBean>标记中,有一个scope属性,它是用来设定JavaBean存在的范围。

scope属性一分别为page、request、session和application。

11、JDBC是Java DataBase Connectivity的缩写,它的中文名称是java数据库连接技术。

12、JSP页面组成元素中,除了可以包含静态内容(html、js、css)外,还可以包含:JSP指令、j、脚本元素、动作、注释等。

13、异常的处理,可在该方法的代码段中包含3类代码:try 、catch和finally 块。

14、JSP的三个指令中,定义整个JSP页面属性的是page指令,实现静态包含的是include指令,库的是taglib指令。

STRUS笔记

STRUS笔记

Eclipse -- web project (配置Tomcat服务器)配置Tomcat服务器:Server -- Runtime Environments(Tomcat6.0)url:http://localhost:8080/工程名/目录/页面文件工程布署位置:tomcat6/webapps/Servlet1.war(启动后自动解压)获取请求参数:(?test=abc&flag=dfg) <form>表单</form>request.getParameter("参数名");HttpServletRequest request 不能由程序员能过new 生成对象,它是由web容器自动生成request对象: 请求对象HttpServletResponse response : 响应对象web容器: tomcatServlet 控制器JSP显示信息== (HTML,css ,Javascript)Java 平台无关,可移植(Windows,linux)Tomcat (JSP、Servlet容器)JRE(Java容器)JBossWebLogic WebSphere (EJB:分布式)Sun服务器认证JBuilderservice---选择调用doGet或doPost方法转发、重定向-- 目标上下文根目录:content roothttp://主机:端口/content root/目录/网页或Servlet地址编码(字符集)1> <form method="post">request.setCharacterEncoding("gbk"); //该代码必须位于获取请求参数代码之前2> get/postString userNameTemp = request.getParameter("userName");String userName = new String(userNameTemp.getBytes("iso-8859-1"),"gbk");iso-8859-1 ascii 255gbk/gb2312/gb18030 /utf-8get: <form method="get"/> <a href="a.html?user=张三"/>post : <form method="post">jsp: view视图servlet:controller控制器: 1.获取用户所提交的数据 2.调用后台模型处理用户3.控制响应流程(可作简单逻辑,且代码不重复)javabean: model模型MVC(Model模型-- View视图-- 控制器Controller:servlet)表示层(html,js,css,images,jsp,servlet) view/Controller dto业务逻辑层(bo,service):javabean dto Model数据逻辑层,也叫持久层(dao,专门做数据库操作:insert,delete,update,select):javabean,hibernate dto Model数据库(mysql,sqlserver)attribute : 属性setAttribute("属性名",对象)parameter: 参数?test=abc 表单数据setAttribute("属性名", 属性值);getAttribute("属性名");pageScope: 页面范围,只能在当前页面使用pageScoperequestScope: 两个页面之间 a.jsp -- b.jsp requestScopesessionScope:对于单个用户所有页面(购物车),打开浏览器代表一个用户sessionScope applicationScope:对于所有用户所有页面applicationScope尽量用小范围jsp servletpageContext 变量request requestsession HttpSession session = request.getSession();application ServletContext<b>hello</b><br/><% %><jsp:useBean>1>标签处理程序2》标签库描述文件.tldJSP: model1: jsp -- jsp -- javabeanJSP: model2: MVC jsp - servlet - javabeanjsp(view视图) -- Servlet(Controller控制器)-- bo/ Dao(模型:model)Servlet(Controller控制器): 获取数据,手工Struts(MVC)框架: jsp servlet1.数据自动转化2.控制器功能更强大,多分支3.Struts标签4.文件上传5.数据验证6.结构更清晰MVC框架,都不提供Model实现方式,表示层1.创建Web工程并导入Sturts库.jar2.配置中央控制器(ActionServlet)并装载struts-config.xml配置文件3.Login.jsp ---- LoginActionForm(接收用户所输入的数据)表单BeanMyEclipse: 1>导入Struts库,生成Struts-config.xml,web.xmlcom.公司名.项目名<font-bean name="loginForm" type="com.strutsdemo.form.LoginForm"/><action path="/login" type="com.strutsdemo.action.LoginAction" name="loginForm" attribute="loginForm" scope="request/session"控制器:ActionServlet中央控制器(本身不作具体控制,其控制功能由RequestProcesser 类完成Action分支控制器,后端控制器,LoginAction,RegisterActionRequestProcesser:具备全局控制功能,*.do == Filter 处理中文乱码login LoginAction LoginFormjsp (多) actionForm(1) action(多)actionForm属性大于等于jsp属性tomcat start--> web.xml-->创建ActionServlet-->struts-config.xml(地图)准备登录:login.jsp( action="/Struts2/login.do") --- actionServlet(监控所有.do请求)-- /login (action元素中的path="/login") -- <action name="1、新建一个WEB工程strus.2、右击工程名,--MyEclipse –Strus2.3、右击工程名,--New—Other---MyEclipse—web- sturs—struse1.2—struse Formse(最长的那个).Config/Module;工程名要配置对.Use CASE ;用户实例.4、在MyEclipse 中配置Tomcat 6.X, 选择Widow—Preferences—Tomcat—Tomcat 6.X5、发布前要启动TOMCAT,发布。

Java相关课程系列笔记之10JSP学习笔记(建议用WPS打开)

Java相关课程系列笔记之10JSP学习笔记(建议用WPS打开)

JSP学习笔记Java相关课程系列笔记之十笔记内容说明JSP(程祖红老师主讲,占笔记内容100%);目录一、JSP基础 (1)1.1什么是JSP (1)1.2为什么要使用JSP (1)1.3 JSP与Servlet的关系 (1)1.4如何写一个JSP文件 (1)1.5 JSP是如何运行的 (1)1.6隐含对象 (2)1.7指令 (2)1.8 JSP注释 (3)1.9案例:创建emplist.jsp页面,将表示逻辑交给JSP处理 (3)二、JSP标签和EL表达式 (4)2.1什么是JSP标签 (4)2.2 JSTL及其使用 (4)2.3什么是EL表达式 (4)2.4 EL表达式的使用 (4)三、JSTL中的几个核心标签 (7)3.1 if (7)3.2 choose (7)3.3 forEach (7)3.4 url (8)3.5 set (8)3.6 remove (8)3.7 catch (8)3.8 import (8)3.9 redirect (8)3.10 out (8)3.11 JSP标签是如何运行的 (8)3.12案例:将员工列表中的Java代码改为JSP标签,并添加分页 (9)四、自定义标签 (10)4.1如何写一个自定义标签 (10)4.2 JavaEE5.0中,如何使用EL表达式和JSTL (10)4.3案例:自定义标签 (10)4.4案例:修改之前员工列表中的日期显示 (11)五、MVC (13)5.1什么是MVC (13)5.2使用MVC的目的 (13)5.3如何使用MVC来开发一个Web应用程序(JavaEE) (13)5.4 MVC的优缺点 (13)5.5案例:简易贷款(贷款数小于余额数*10) (13)5.6修改5.5案例,使用户无法直接访问view.jsp页面 (15)1一、JSP基础1.1什么是JSPJSP(Java Server Page)是Java服务器端动态页面技术。

JSP第四章 JSP语法(新)

JSP第四章 JSP语法(新)

%>
</BODY></HTML>
4.3 Java程序片
➢ 一个JSP页面中的Java程序片会按其在页面中的顺序被执行,
而 且 某 个 Java 程 序 片 中 声 明 的 局 部 变 量 在 其 后 继 的 所 有
Java程序片以及表达式内都有效。
➢ 可以将一个Java程序片分割成几个Java程序片,然后在这些
String tom=null,jerry="love JSP"; Date date; %>
4.2 变量和方法的声明
example2_2.jsp:利用成员变量被所有用户共享,实现计数器
<%@ page contentType="text/html; charset=GB2312" %>
<HTML><BODY BGCOLOR=cyan> <FONT size=3>
} double div(double x,double y) {
return x/y; } %> <% double x=3.56; double y=18; out.println("调用multi方法计算"+x+"与"+y+"之积:<br>"); out.println(multi(x,y)); out.println("<BR>调用div方法计算"+y+"除以"+x+"的商:<br>"); String s =String.format("小数点保留3位:%10.3f",div(y,x)); out.println(s); %> </body></HTML>

JavaScript基础知识点

JavaScript基础知识点

JavaScript基础知识点1、JavaScript概述1.1、JavaScript是什么?有什么⽤?HTML:就是⽤来写⽹页的。

⼈的⾝体CSS:就是⽤来美化页⾯的。

⼈的⾐服JavaScript:前端⼤脑、灵魂。

⼈的⼤脑、灵魂JavaScript是WEB上最强⼤的脚本语⾔。

脚本语⾔:⽆法独⽴执⾏。

必须嵌⼊到其它语⾔中,结合使⽤。

直接被浏览器解析执⾏。

Java编程语⾔:独⽴写程序、独⽴运⾏。

先编译后执⾏作⽤:控制页⾯特效展⽰。

例如:JS可以对HTML元素进⾏动态控制JS可以对表单项进⾏校验JS可以控制CSS的样式1.2、JavaScript⼊门案例1.3、JavaScript的语⾔特征及编程注意事项特征:JavaScript⽆需编译,直接被浏览器解释并执⾏JavaScript⽆法单独运⾏,必须嵌⼊到HTML代码中运⾏JavaScript的执⾏过程由上到下依次执⾏注意:JavaScript没有访问系统⽂件的权限(安全)由于JavaScript⽆需编译,是由上到下依次解释执⾏,所以在保持可读性的情况下,允许使⽤链式编程JavaScript和java没有任何直接关系1.4、JavaScript的组成JavaScript包括:ECMAScript 、 DOM 、 BOMECMAScript(核⼼):规定了JS的语法和基本对象。

DOM ⽂档对象模型:处理页⾯内容的⽅法标记型⽂档。

HTMLBOM 浏览器对象模型:与浏览器交互的⽅法和接⼝1.4.1、内部脚本在当前页⾯内部写script标签,内部即可书写JavaScript代码格式:<script type="text/javascript"> JavaScript的代码 </script>注:script标签理论上可以书写在HTML⽂件的任意位置1.4.2、外部引⼊在HTML⽂档中,通过<script src="">标签引⼊.js⽂件格式:<script type="text/javascript" src="javascript⽂件路径"></script>⽰例⼀:<script type="text/javascript" src="01demo1.js"></script>注:外部引⽤时script标签内不能有script代码,即使写了也不会执⾏。

jsp基础知识

jsp基础知识


• CallableStatement


创建CallableStatement的对象主要用于执行存储 过程,可以使用DatabaseMetaData类中的有关方法 去获取相关信息以查看数据库是否支持存储过程。 调用类Connection中的方法prepareCall可以创建 一个CallableStatement的对象。一般形式如下: CallableStatement csm=con.prepareCall("{call test(?,?)}");

图6-5 PreparedStatement接口的常用方法

• PreparedStatement


创建PreparedStatement对象形式如下: PreparedStatement psm=con.prepareStatement("INSERT INTO users(u_name,u_pass) VALUES(?,?)"); 输入参数的赋值 PreparedStatement中提供了大量的setXXX方法对 输入参数进行赋值。根据输入参数的SQL类型应选 用合适的setXXX方法。

• Statement


executeQuery方法 :一般用于执行SQL的SELECT语 句。它的返回值是执行SQL语句后产生的一个 ResultSet接口的实例(结果集)。 execute方法 :一般是在用户不知道执行SQL语句 后会产生什么结果或可能有多种类型的结果产生时 才会使用。execute()的执行结果包括如下三种情 况: 1.包含多个ResultSet(结果集); 2.多条记录被影响; 3.ger

DriverManager类的常用方法见图6-1。

javascript笔记总结

javascript笔记总结

DAY01 基本使用什么是javascript发展历史javascript组成ECMAScript+BOM+DOM使用<script></script>标签document.write方法注释使用引入js文件的方式<script>标签的属性原样输出标签的内容变量的定义var (弱类型)变量命名规则(变量名应做到见名知意)alert方法的介绍变量的类型变量的计算关键字Break Else New varCase Finally Return void Catch For Switch whileContinue Function This withDefault If ThrowDelete In TryDo Instanceof Typeof保留字类型的转换赋值操作关系运算位运算(扩展)⏹var num= 25 & 3; //1⏹var num= 25 | 3; //27⏹var num = 2<< 3; //16⏹var num = 4^3; //代码规范问题将加法的案例改为可以做加减乘除、求余五种运算作业⏹今天课堂所有的例子代码,照敲两遍⏹入职薪水10K,每年涨幅5%,50年后工资多少?⏹为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?⏹小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。

它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。

提示:摄氏度与芈氏度的转换公式为:摄氏度= 5/9.0*(华氏度-32)var k=0;alert(++k + k++ + ++k + k);DAY02 基本使用逻辑运算⏹&& 与、|| 或、! 否自增、自减⏹++a, a++⏹--a, a--十进制、八进制、十六进制(扩展)⏹var num = 100;⏹var num= 070;⏹var num= 079; //非八进制⏹var num= 0xA;var box = 0x1f;⏹var num= 0.8;⏹var num = .8; //不好的习惯,不推荐此写法,虽然有不少人这样写⏹var num = 12.0; //这样写会自动转为整数12,为了节省内存⏹var num = 4.12e9; //科学计数法NaN⏹当数学计算无法得到数字结果是,该变量的值为NaNvar num1 = 100-"abc";alert(num1);⏹注意:因为NaN代表非数字,它不等于任何值,也不能做运算,即使alert(NaN == NaN); 结果也是false⏹isNaN(num)函数,该函数判断num变量的值是否是NaNNumber()函数,可以将任意类型尝试转换为数字alert(Number(true)); //1,Boolean 类型的 true 和 false 分别转换成 1 和 0 alert(Number(25)); //25,数值型直接返回alert(Number(null)); //0,空对象返回 0alert(Number(undefined)); //NaN,undefined 返回 NaN如果是对象,则在转换数字失败后,调用toString方法获得返回值var box = {toString : function () {return '123'; //可以改成 return 'abc'查看效果}};alert(Number(box)); //123Object类型(简单了解)var str = new String("hehe");alert(typeof str); //结果也是object程序的三大结构⏹顺序结构⏹选择结构⏹循环结构if判断语句⏹注意大括号{} 有和没有的区别⏹else的作用⏹计算某一年是否是闰年、与或非的运用⏹else if的作用⏹成绩判定switch语句⏹案例:成绩判定、显示星期几⏹注意switch的应用场景⏹注意case穿透,要加break语句作业:⏹判断一个整数,属于哪个范围:大于0;小于0;等于0⏹判断一个整数是偶数还是奇数,并输出判断结果⏹开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。

javascript笔记知识点整理图文

javascript笔记知识点整理图文

一、JavaScript基础1.变量:区分大小写(html不区分大小写)变量和作用域:1)Js在函数内部直接读取全局变量2)在函数外部无法读取函数内部的局部变量3)在函数内部声明变量的时候,要使用var,如果不用,则认为声明的是全局变量2.标识符的命名:第一个字符必须是字母、下划线或$第二个字符及以后:字母、数字、下划线或¥3.保留字(不可以当做标识符):4.声明变量:1)声明变量: var a;2)赋值: a=10;3)声明变量和初始化变量:var a=10;4)声明多个变量: var x,y,z=10;5)不声明变量,直接使用:x=105.数据类型:1)Typeof操作符:用来检测变量的数据类型:a)Undefined:未定义b)Boolean:布尔型c)String:字符串d)Number:数值e)Object:对象/nullf)Function:函数g)例如:Var sun=“太阳”;Alert(typeof sun);2)Undefined类型:定义了一个变量但是没有给这个变量赋值、使用一个为定义的量、或者用了一个不存在的对象的属性的时候,返回undefined3)Null类型:空字符,表示不存在的值a)如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。

b)养成编码的规范,不要忘记初始化变量。

4)Boolean类型:true/false(小写)a)Var hello=“hello world”;a)alert(typeof hello)ength。

b)Sdc)重载:就是根据参数选择相同函数名而参数不同的函数6.调用函数的三种方式1)直接调用函数2)以call()方法调用函数:需要动态传入一个函数引用(动态的调用函数)函数的引用.call(调用者,参数1,参数2)3)以apply()方法调用函数4)Apply()和call()的区别:Call()调用的时候,必须在括号内详细的列出每个参数Apply()动态调用的时候,可以在括号中用arguments来代表所有参数7.对象的创建1)使用new关键字调用构造器创建对象2)使用object直接创建对象Js的对象都是object类的子类3)使用json创建对象二、语句1.Foreach循环:for(var 变量名 in 数组名){ }2.For循环:for(var 变量名;范围;变量++/--) { }3.If语句4.While语句5.Do while语句6.Switch语句7.Break:跳出整个循环(当前所在的循环)Continue:结束本次循环,进行下一次循环跳出外层循环:设置标签,如图三、DOM(document object model)文档对象模型1.DOM HTML1)改变HTML内容:(id).innerHTML = new html; =新内容或者:2)改变HTML属性(id).attribute = new value; id.属性=新的属性值2.DOM CSS(id).=new style; .属性=新的属性值3.DOM事件1)Onclick事件:在html元素上点击执行function;2)Ondblclick时间:双击触发3)Onload事件/onunload事件共同点:在用户进入或者离开页面的时候被触发;用于处理cookie不同点:onload检测发访问者的浏览器类型和版本,加载网页的正确版本4)Onchange事件:对输入的字段进行验证5)Onmouseover/onmouseout事件:鼠标放在元素上面/移动的时候触发函数类似伪元素选择器:hover,不同在于这个触发函数6)Onmousedown/onmouseup事件:点击按钮的时候触发事件1,松开鼠标后,触发事件2,最后结束的时候,类似事件onclick。

Javascript笔记资料

Javascript笔记资料

Javascript三颗***:重点正课:1. 什么是js2. 如何编写,如何运行,如何调试js程序3. ***变量4. ***数据类型1. 什么是js:前端三大语言:HTML:专门编写网页内容的语言CSS:专门美化网页样式的语言*************************************************交互:输入数据,处理数据,返回结果JavaScript:专门编写网页交互的语言程序:让计算机可以执行任务的指令的序列Netscape:网景客户端脚本语言:LiveScriptSun Java——“write once run anywhere”LiveScript: JavaScript"像极了Java,但比Java简单的多"JavaScript-->ECMA-->ECMAScript:行业标准,规定核心语法!Netscape:遵照标准实现JavaScriptMicrosoft:遵照标准实现JScriptW3C:DOM标准:专门操作网页内容的API标准JavaScript:ECMAScript(核心语法)+DOM(专门操作网页内容)BOM(专门操作浏览器窗口)2004:Mozilla Firefox2. 如何使用:运行方式:2种:1. 使用浏览器自带的js引擎:浏览器中包含两个引擎:内容排版引擎:负责加载HTML内容,渲染css样式js解释器/引擎:负责解释,并执行js程序浏览器控制台:专门调试程序,显示输出结果的浏览器窗口第一行脚本:console.log("Hello World");console指控制台.翻译为"的"log是控制台提供的一个现有功能,用来记录一行话强调:2点:1. js中凡是要输出的正文都要用引号包裹,但单双引号不分2. js区分大小写!js规定小写的名称,就必须小写!document.write("...");//使用网页的写入方法,向网页内容中写入HTML内容window.alert("...");//使用窗口的警告功能,弹出警告框,显示自定义警告内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JSP(Java Server Page)JSP是服务器端运行的页面,JSP本就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。

Jsp文件只需放在应用文件下就可以了。

JSP例子:<html><head><title>time</title></head><body><h1><%=new java.util.Date()%></h1></body></html>JSP运行过程1,JSP文件先要翻译成Java文件(Servlet),在tomcat中翻译后的java文件在tomcat 下的work\Catalina\localhost中相应名字的应用目录里。

2,编译Java文件3,运行.class文件Tomcat的全局配置文件在Tomcat下的conf目录中的web.xml是服务器全局的配置文件,其中要想关闭列表显示叫要把<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>Tomcat的管理员设置在tomcat下的conf目录中的tomcat-use.xml文件中可以配置tomcat的用户角色<tomcat-users><role rolename="manager" description=""/><role rolename="admin"/><!--设定角色的名字,admin是管理员,manager是项目管理--><user username="manager" password="123" roles="manager"/><!--设定用户名密码,和角色--><user username="admin" password="123" roles="admin"/></tomcat-users>JSP的特点1,JSP不需要编译2,JSP不需要进行配置3,JSP本质上就是一个Servlet4,JSP是以静态页面为主的。

JSP的语法格式<%=...%>表达式,写表达式时不要加上分号,表达式,翻译成Java代码也就是直接使用流输出,也就不能加分号了。

<%! int a=0; %>声明,使用声明的变量,所创建的变量是在service方法体外,也就是翻译成实例变量,声明也可以声明内部类或者是方法的声明。

<% if(a==0){ a=3;}%>代码片断,代码段会原样翻译。

在代码段中声明的变量,就会被翻译的service的方法体中,也就是被翻译成局部变量。

前三种JSP的语法也叫做JSP代码,以上的表示方法,都有与之相对应的xml表达形式,因为可读性较差,所以较少使用。

<%@ ... %>JSP指令<%@page import="...,..."%>引入包<%include file="...."%>直接引入内容,这些内容会直接嵌入到页面中。

JSP的注释<%ment[<%=expression %>.--%>Eg.001:<JSP指令和JSP动作(标准的JSP标签)JSP指令的语法<%@... ....%><%@include file="...."%> 包含指令,包含指令会将要包含的文件代码原样输出到本页面(在翻译时把包含文件的内容引入并合并),不进行翻译,file属性制定要包含的文件的名字(注意要包含的文件的路径),这个指令可以实现页面的复用。

注意:<%@include file=" "%>要包含的JSP文件中不能定义重名的变量,如果不使用包含指令,那么JSP中的最小转换单元就是JSP文件,使用了包含指令就会将多个jsp的结果合并到一起。

<%@page ..%>页面指令<%@page import="..."%> 引入包例:<%@page import="java.util.*,ent.*"%>(可出现多次)<%@page pageEncoding="GBK"%>设定页面显示的字符集<%@page contentType="text/html;charset=GBK"%>设置输出流的编码方式和文件格式。

注意:输出的字符集编码方式要和页面显示的字符集相同,一般定义输出流的编码方式,注意以上两个页面指令在JSP中最好只出现一次。

注意在请求中传送的参数的值是中文的话需要调用请求request的setCharacterEncoding("..")方法设置相应的编码方式,只适用于post请求,也可以通过Servlet的Filter来进行中文编码方式的处理。

<%@page language="java"%>指定JSP的脚本语言,现在只能写java<%@page extends=".."> 指定翻译后代码类型的父类,最好不要使用这个指令<%@page session="true|false"%>指定是否自动创建Session,最好不自己指定,使用默认值<%@page buffer=".." autoflush="true|false"%>设置输出的缓存和是否自动刷新缓存,一般情况下都使用默认值,缓存的默认值为8KB。

<%@page isThreadSafe="true|false"%>是否线程安全,默认为true,也就是线程安全,只使用默认值。

<%@page info=".."%>设置页面信息,一般不用<%@page errorPage=""%>指定异常处理页面<%@page isErrorPage="true|false"%>设定本页面就是异常后跳转的页面<%@page isELIgnored="true|false"%>设定本页面是否忽略JSP2.0种EL表达式<%@taglib ..%> 标签库指令,用于引入自定义标签库JSP动作<jsp:... ...><jsp:include page="..." flush=true|false> include动作是在翻译和编译后运行时进行响应的合并,也就是对应了Servlet中RequestDispatcher类的include(ServletRequest request, ServletResponse response)方法。

include动作可以传递参数<jsp:include page="test.jsp"><jsp:param name="user" value=" "></jsp:include>在使用参数时,可以用request内置对象来获取参数的值。

<jsp:forward page="xxx/xxx.jsp">forward动作对应的是Servlet中RequestDispatcher 类的forward(ServletRequest request, ServletResponse response)方法,也就是把请求进行转发。

也可以写成<jsp:forward><jsp:attribute name="page">xxx/xxx.jsp</jsp:attribute></jsp:forward>这种写法等价于上面的写法。

在使用Servlet的response的重定向sendRedirect(String location)方法在使用时要包含应用的路径,注意,重定向会放弃这个请求,并向服务器发送一个新的请求,但是响应对象还是一个。

重定向是用来避免重复提交的。

注意:对页面的刷新操作就会再一次运行程序,也就仿佛进行了再一次的提交一样,这也就是重复提交的问题,所以需要使用重定向来解决这个问题。

<jsp:plugin type="bean|applet" code="...">...</jsp:plugin>jsp:plugin动作可以使页面上运行applet,或者是使用java代码。

<jsp:useBean id="对象名" class="类全名"|type="类全名"(使用多态时使用) beanName="类全名" scope="page|request|session|application">jsp:useBean动作,可以通过这个动作来使用java代码,id就是变量名,clss和type的区别在于,使用type是不会创建对象,而只是会先查找如果有该对象就会使用,如果没有就会抛出异常,class在没有该对象存在时,则会创建新对象。

scope是用来保存实例的空间范围,page、request、session、application,由小到大,默认为page。

<jsp:setProperty name="对象名" property="属性名" value="属性值"/>直接指定Bean属性的值,必须类型一致。

相关文档
最新文档