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。

【狂神说Java】JavaWeb入门到实战1---笔记

【狂神说Java】JavaWeb入门到实战1---笔记

【狂神说Java】JavaWeb⼊门到实战1---笔记转⾃:⽂章⽬录1、基本概念1.1、前⾔1.2、web应⽤程序web应⽤程序:1.3、静态web1.4、动态web2、web服务器2.1、技术讲解2.2、web服务器3、Tomcat3.1安装tomcat tomcat3.2、Tomcat启动和配置3.3、配置3.4、发布⼀个web⽹站4、Http4.1、什么是HTTPHTTP4.2、两个时代4.3、Http请求1、请求⾏2、消息头4.4、Http响应1、响应体2、响应状态码5、Maven5.1 Maven项⽬架构管理⼯具5.2下载安装Maven5.3配置环境变量5.4阿⾥云镜像5.5本地仓库5.6 ~ 5.13笔记-下载地址6、Servlet6.1、Servlet简介6.2、HelloServlet6.2、HelloServlet6.3、Servlet原理6.4、Mapping问题6.5、ServletContext1、共享数据2、获取初始化参数3、请求转发6.6、HttpServletResponse1、简单分类2、下载⽂件3、验证码功能6.7、HttpServletRequest获取参数,请求转发7、Cookie、Session7.1、会话7.2、保存会话的两种技术7.3、Cookie7.4、Session(重点)8、JSP8.1、什么是JSP8.2、JSP原理8.3、JSP基础语法JSP表达式jsp脚本⽚段JSP声明8.4、JSP指令8.5、9⼤内置对象8.6、JSP标签、JSTL标签、EL表达式9、JavaBean10、MVC三层架构10.1、以前的架构10.2、MVC三层架构11、Filter (重点)12、监听器13、过滤器、监听器常见应⽤14、JDBC15、SMBMS(超市管理项⽬)1、基本概念1.1、前⾔web开发:web,⽹页的意思,·静态webhtml,sss提供给所有⼈看的数据始终不会发⽣变化!动态web淘宝,⼏乎是所有的⽹站;提供给所有⼈看的数据始终会发⽣变化,每个⼈在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/ISP,ASP,PHP1.2、web应⽤程序web应⽤程序:可以提供浏览器访问的程序;a.html、b.html.….多个web资源,这些web资源可以被外界访问,对外界提供服务;你们能访问到的任何⼀个页⾯或者资源,都存在于这个世界的某⼀个⾓落的计算机上。

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。

jsp复习资料

jsp复习资料

08计算机《JSP程序设计》作业题请把各题的答案另外写在一个Word文档中,标明题号,写好答案即可。

写上自己的学号姓名,统一发给班长,下周上课,班长用优盘考给我或QQ发给我。

一、填空题1、在安装Tomcat时,如果系统中已经有其他的应用程序占用了【8080 】端口,则启动Tomcat时会失败。

2、Servlet是服务器端的【 java小程序】,用于响应客户机的请求。

在默认情况下,Servlet采用一种无状态的【请求-响应】处理方式。

Servlet主要功能是增强Java服务器端功能。

3、Servlet的生命周期主要由3个过程:【init() 】方法功能是服务器初始化Servlet;【 service() 】方法功能是对象调用该方法响应客户的请求;【 destroy() 】方法功能是消灭Servlet对象。

4、编译后的Servlet只被装载【 1 】次,因此,当源程序重新编译后,需要重新启动服务器;同时Servlet 类的修饰符必须为【 public 】5、Servlet的环境API接口中,ServletConfig接口对象接收【 servlet 】特定的初始化参数,而ServletContext接收【 webapp 】初始化参数。

6、表单提交有2种方式。

【 get 】方式是表单的默认方式,并且次提交方式的总数据量不能超过2KB,否则提交失败。

利用【 post 】方法需要在method方法中声明,并且它没有容量方面的限制。

7、在Servlet中,通过HttpServletRequest接口的方法来获得来自【客户和服务器】端的一些数据;HttpServletReponse接口的方法来【发出响应】,它的【 sendredirect 】方法可以立即使网页重定向,它的【 setintheader 】方法可以使网页定时刷新,它的【 secdheader 】方法可以定时使网页重定向。

8、javax.servlet.RequestDispatcher接口有两个最重要的的方法:【 forward 】和【 include 】,它们用来实现对页面的动态转发或者包含。

第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服务器端动态页面技术。

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。

JSP简答

JSP简答

第一章1.什么是URL,什么是URI,它们都由哪几部分组成?URL与URI有什么关系?答:URL称为统一资源定位符,URL通常由4部分组成:协议名称,主机的DNS名,可选的端口号和资源的名称。

URI成为统一资源标识符,是以特定语法标识一个资源的字符串。

URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。

2.动态Web技术文档有哪些?服务器端动态文档技术和客户端动态文档技术有何不同?答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术。

服务器扩展技术和HTML页面中嵌入脚本技术。

其中HTML页面中嵌入脚本技术包括ASP,PHP和JSP技术。

最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。

使用JavaScript可以设计交互式页面。

与服务器端动态文档不同,JavaScript脚本是在客户端执行的。

3.什么是Servlet?什么是Servlet容器?它的主要作用是什么?Servlet是用ServletAPI开发的Java程序,它运行在Servlet容器中,Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。

4.什么是MVC设计模式,它有什么优点?MVC设计模式称为模型-视图-控制器,在这种模式中,将Web组件分为模型,视图和控制器,每种组件完成各自的任务。

该模式的最大优点是将业务逻辑和数据访问从表示层分离出来,第二章1.HTTP请求结构由哪几部分组成?请求行由哪几部分组成?答;HTTP请求结构由请求行,请求头,空行和请求数据组成。

请求行由方法名,请求资源的URI和使用的HTTP版本三部分组成。

2.HTTP响应结构由哪几部分组成?状态行由哪几部分组成?答:HTTP响应结构由状态行,响应头和响应数据三部分组成。

状态行由HTTP 版本,状态行和简短描述三部分组成。

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斤左右的浮动。

JSP语法基础

JSP语法基础

JSP语法基础1、JSP基本概念JSP(Java Server Pages,Java服务器页面)是一种Web动态页面技术,JSP是嵌入了Java程序段的HTML 文件,由HTML元素(静态部分)、JSP元素(动态部分)和JSP注释组成。

JSP文件后缀名为.jsp。

JSP运行时会被容器翻译为Servlet源代码(xxx_jsp.java)、自动编译为.class文件(xxx_jsp.class)、载入.class文件,然后生成Servlet对象。

JSP和Servlet一样是服务器端技术,允许运行在Web服务器端。

JSP定义在JavaWeb工程中WebRoot根路径下或其下的某个目录,其访问方式和访问HTML文件一致。

注意:如果JSP文件放在WEB-INF目录中时,不能直接访问,需通过Servlet转发。

JSP在运行时会动态编译成一个Servlet,其本质上是就是一个Servlet,JSP是对Servlet技术的扩展。

Servlet完全由Java程序代码构成,擅长于流程控制和业务逻辑处理,一般用作控制器(Controller);JSP 由HTML元素和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,擅长于内容的展示,一般用作视图(View)。

注:翻译生成的xxx_jsp.java和xxx_jsp.class文件的位置:Tomcat中,在apache-tomcat\work\Catalina目录需;在Eclipse中,在workspace下\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\XXX\org\apache\jsp。

2、JSP元素JSP元素包括脚本元素、指令元素和动作元素。

脚本元素(3种)用来声明类成员与方法。

使用<%!与%>声明变量时,必须小心数据共享与线程安全的问题。

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)。
Servlet可以动态生成HTML内容对客户端进行响应
Servlet接口
所有Servlet需要实现的方法
void init(ServletConfig config)
由Servlet容器调用,用于完成Servlet对象在处理客户请求前的初始化工作
void service(ServletRequest req,ServletResponse resp)
获取客户端请求的数据Object getAttribute ( String name )获取名称为name的属性值
void setAttribute ( String? name,Object? object )
在请求中保存名称为name的 属性
void removeAttribute(String? name)
设定session的非活动时间
int getMaxInactiveInterval()
获取session的有效非活动时间(以秒为单位)
void invalidate() 设置session对象失效
void setAttribute(String key,Object value)
以key/value的形式保存对象值
ServletConfig接口
在Servlet初始化过程中获取配置信息
一个Servlet只有一个ServletConfig对象
String getInitParameter ( String name)
获取web.xml中设置的以name命名的初始化参数值ServletContext getServletContext(?)返回Servlet的上下文对象引用
request对象主要用于处理客户端请求
request对象常用方法
String getParameter(String name)
根据表单组件名称获取提交数据
String[] getParameterValues(String name)
获取表单组件对应多个值时的请求数据
void setCharacterEncoding(String charset)
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同
session对象的失效
手动设置失效:invalidate()
超时失效
通过setMaxInactiveInterval()方法,单位是秒
<% session.setAttribute("login","admin"); session.setMaxInactiveInterval(600); response.sendRedirect("admin.jsp"); %>
application实现用户之间的数据共享application对象的常用方法void setAttribute(String key, Object value)
设置名称为name的属性
Object getAttribute ( String name)获取名称为name的属性
String getRealPath ( String ?path)返回参数所代表目录的真实路径void log(String message)记录一般日志信息
ServletRequest接口
HTML的注释
<!-- html注释-->JSP注释
<%-- JSP注释--%>
在JSP脚本中注释
<% //单行注释 %> <% /*多行注释 */ %>
Web容器处理JSP文件请求需要经过3个阶段
1.翻译阶段 2.编译阶段 3.执行阶段
JSP内置对象是Web容器创建的一组对象
重定向:重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
在地址栏中可以显示转向后的地址
一个会话就是在一段内,一个客户端与Web服务器的一连串相关的交互过程
session对象常用方法:
String getId() 获取sessionid
void setMaxInactiveInterval(int interval)
String getContextPath( )返回请求URI中表示请求上下文的路径,上下文路径是请求URI的开始部分Cookie[] getCookies()返回客户端在此次请求中发送的所有cookie对象
HttpSession getSession()返回和此次请求相关联的session,如果没有给客户端分配session,则创建一个新的session
由Servlet容器调用,用来处理客户端的请求
void destroy()
由Servlet容器调用,释放Servlet对象所使用的资源
ServletConfig getServletConfig()
返回ServletConfig对象,该对象包含此Servlet的初始化和启动参数。返回的ServletConfig对象是传递给init()方法的对象
Object getAttribute(String key)通过key获取对象值
void removeAttribute(String key)
从sessoin中删除指定名称(key)所对应的对象
session与窗口的关系
每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口,可以重新创建一个session对象
对Servlet接口中init()方法的实现,对ServletConfig实例进行了保存。此方法还有一个无参的重载方法,可用于子类中重写。
public ServletContext getServletContext()
返回ServletContext对象的引用
HttpServlet抽象类
客户端将重新发送请求到指定的URL
转发的作用
在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
转发的实现
RequestDispatcher对象的forward()方法
转发:转发是在服务器端发挥作用,将同一请求在服务器资源之间进行传递
客户端浏览器的地址栏不会显示转向后的地址
指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path)
返回一个RequestDispatcher对象,该对象的forward()方法用于转发请求
response对象用于响应客户请求并向客户端输出信息
页面重定向
void sendRedirect(String location)
String getCharacterEncoding ( )返回在响应中发送的正文所使用的字符编码
void setCharacterEncoding( String charset)
设置响应的字符编码void setContentType(String type)设置发送到客户端的响应的内容类型,此时响应的状态属于尚未提交
Servlet的应用
创建Servlet
继承HttpServlet重写doPost()或doGet()方法
部署Servlet编译Servlet到/WEB-INF/classes目录
编辑部署描述文件web.xml
<servlet><servlet-mapping><url-pattern>启动Tomcat,访问Servlet
清除请求中名字为name的属性
String getCharacterEncoding( )返回请求体所使用的字符编码void setCharacterEncoding( String charset)
设置请求体的字符编码String getParameter(String name)返回指定请求参数的值
HttpServletResponse接口
除了继承ServletResponse接口中的方法,还增加了适用于HTTP响应的新方法void addCookie ( Cookie cookie )增加一个cookie到响应中,这个方法可多次调用,设置多个cookievoid addHeader(String name, String value)将一个名称为name,值为value的响应报头添加到响应中void sendRedirect(String location)发送一个临时的重定向响应到客户端,以便客户端访问新的URLvoid encodeURL(String url)使用session ID对用于重定向的URL进行编码
继承自GenericServlet
处理HTTP协议的请求和响应
public void service(ServletRequest req.ServletResponse resp)
对GenericServlet类中service()方法的实现,将请求分发给protected void service (HttpServletRequest req, HttpServletResponse res )protected void service ( HttpServletRequest req,HttpServletResponse resp)收HTTP 请求,并将它们分发给此类中定义的 doXXX( ) 方法protected void doXXX ( HttpServletRequest req, HttpServletResponse resp)根据请求方式的不同分别调用的相应处理方法,如doGet()、doPost()等
String getMethod()返回此次请求所使用的HTTP方法的名字,如GET、POSTString getHeader(String name)返回指定的请求头信息
相关文档
最新文档