欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

jsp程序设计-复习重点

  • 资源ID:159135148       资源大小:74.50KB        全文页数:9页
  • 资源格式: DOC        下载积分:25积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要25积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

jsp程序设计-复习重点

1. 开发JSP程序所需的开发环境及各自作用:1.Web浏览器:用于客户端用户访问Web应用的工具 2。Web服务器:只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。如Apache Tomcat。3.JDK:包括运行Java程序所必须的JRE环境及开发过程中常用的库文件.4。 数据库:用来存储项目中需要的信息。2. 字符串处理: 例:String strA=new String(“让我们的明天会更好!”);String strB=”平平淡淡才是真!”out.println(strA。substring(4,6);out。println(strB。string(4,strB。length();/输出结果是:明天 才是真3. 在表单提交中文信息时,应在对应Servlet中添加如下代码:requesrt。setCharacterEncoding(“gb2312”)4. JAVABean的分类:(1)可视化JavaBean(2)不可视JavaBean;不可视JavaBean又分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器. JavaBean是根据特殊的规范编写的普通的Java类,可称它们为“独立的组件”。每一个JavaBean实现一个特定的功能,最大优点就是充分提高了代码的可重用性.通常一个标准的JavaBean需遵循以下规范:(1)实现java。io.Serializable接口;(2)是一个公共类;(3)类中必须存在一个无参数的构造函数;(4)提供对应的setXxx()和getXxx()方法来存取类中的属性5. Servlet 的生命周期:第一步:用户通过客户端浏览器请求服务器,服务器加载Servlet,并创建一个Servlet实例;第二步:容器调用Servlet的init()方法;第三步:容器调用service()方法,并将HttpServletRequest和HttpServletResponse对象传递给该方法,在service()方法中处理用户请求;第四步:在Servlet中请求处理结束后,将结果返回给容器;第五步:容器将结果返回给客户端进行显示;第六步:当Web器关闭时,调用destroy()方法销毁Servlet实例。 Servlet与JSP的区别:Servlet是运行在服务器端运行的Java程序;JSP是一种脚本语言;6. Servlet是在JSP之前就存在的运行在服务端的一种Java技术。Servlet主要用于处理Http请求,并将处理的结果传递给浏览器生成动态Web页面。Servlet具有可移植,功能强大、安全、可扩展和灵活等优点。与JSP的区别:(1)编程方式不同;(2)Servlet必须在编译以后才能执行;(3)运行速度不同。7. JSP是运行在服务器端的脚本语言之一,是用来开发动态网页的一种技术.8. JSP的处理过程:1.客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的资源。2. 服务器根据接收到的客户端的请求来加载被请求的JSP文件.3. Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet.4. JSP引擎将生成的Servlet代码编译成Class文件。5. JSP引擎将生成的Servlet代码编译成Class文件。6. 服务器将执行结果发送给浏览器进行显示9. JSP的三种指令标识:a) page attribute1=”value1” attribute2="value2” %;Page指令中除import属性外,其他属性只能在指令中出现一次。重要属性:language:设置当前页面中JSP脚本使用的语言,默认Java;import:导入包;session:是否支持session,默认支持;errorPage/isErrorPage:异常及异常处理页面;例如:Index.jsp页面中:% page contentType=”text/html;charset=gb2312” errorPage="error。jsp”>%String name=”YXQ”;Integer.parseInt(name); /将字符串转化为int型Error。jsp中: page contentType=”text/html;charset=gb2312” isErrorPage=”true” >出现错误!错误如下:br><%=exception。getMessage()b) include file="文件的绝对路径或相对路径" %如果该属性值以“/”开头,那么指定的是一个绝对路径,将在当前应用的根目录下查找文件;如果是以文件名称或文件夹名开头,那么指定的是一个相对路径,将在当前页面的目录下查找文件。c) taglib uri=”tagURI" prefix=”tagPrefix” 例如:< taglib uri="http:/java.sun。com/jsp/jstl/core” prefix=”c" 10. JSP的注释:HTML中的注释:<!- 注释内容 ->带有JSP表达式的注释:<!- comment=expression %>>隐藏注释 :<%- 注释内容 -%脚本程序(Scriptlet)中的注释 :单行/,多行/*/11. JSP的脚本标识:JSP表达式:用于向页面中输出信息,<%= >声明标识: 可以声明变量或方法%! 声明变量或方法的代码 %脚本程序:< Java程序片段 12. JSP的动作标识:1) <jsp:include page=”被包含文件的路径” flush=”truefalse”/用于向当前页面中包含其他文件,动态静态文件均可。2) <jsp:forward page="文件路径 表示路径的表达式”/> jsp:param name=”参数名称" valude=”参数值"/向动态的目标文件传递参数注:转发与重定向的区别: 进行请求转发时,存储在request对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了.3) jsp:useBean id=”us" type=”com。Bean。UserInfo" scope=”session”/在页面中使用jsp:useBean标识来实例化一个Bean实例后,可以通过<jsp:setProperty>属性来设置或修改该Bean中的属性,或者通过jsp:getProperty标识来读取该Bean中指定的属性。4) <jsp:setProperty5) <jsp:getProperty>13. <jsp:include动作标识与include指令的差异:1) 属性:include指令将file属性值看作一个实际存在的文件的路径,所以该属性不支持任何表达式2) 处理方式:使用include指令被包含的文件,它的内容会原封不动地插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行翻译。所以最终编译后的文件只有一个;使用jsp:include>动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码.因为服务器执行的是两个文件,所以JSP编译器会分别对这两个文件进行编译.3) 包含方式:include指令最终服务器执行的是将两个文件合成后由JSP编译器编译成的一个Class文件,这种包含过程称为静态包含;jsp:include>动作标识被执行时,使用该识包含的目标文件才会被编译,否则被包含的文件不会被编译,所以这种包含过程称为动态包含.14. JSP的内置对象 1) Request, 是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息.具体应用:b) 访问请求参数:String userName = request。getParameter(”name");c) 在作用域中管理属性:request。setAttribute("name",obj); request。getAttribute(String name);例如:使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据。例:<request。setAttribute(”error","很抱歉!您输入的用户名或密码不正确!");><jsp:forward page=”error。jsp" /.在error。jsp中out。println("错误提示信息为:”+request.getAttribute("error");d) 获取cookie: Cookie cookie = request.getCookies();例如:使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间。<Cookie cookies=request.getCookies();Cookie cookie_response=null;if(cookies!=null) cookie_response=cookies0;out.println("本次访问时间:"+new java。util。Date()+"br”);if(cookie_response!=null) /输出上一次访问的时间.并设置cookie_response对象为最新时间. out。println("上一次访问时间:”+cookie_response.getValue(); cookie_response.setValue(new java.util.Date().toString(); /如果Cookies集为空,创建cookie,并加入到response中if(cookies=null)cookie_response=new Cookie("AccessTime”,""); cookie_response.setValue(new java.util。Date().toString(); response.addCookie(cookie_response); >1) Response, 用于响应客户请求,向客户端输出信息。a) 重定向网页:response.sendRedirect("login_ok.jsp”);sendError()方法可指明错误状态.例如:request。setCharacterEncoding("gb2312”);String username=request.getParameter("username”);String pwd=request.getParameter("pwd”);if(!username.equals("") & !pwd。equals(”))/验证是否为空response。sendRedirect(”login_ok。jsp");elseresponse。sendError(500,”请输入登录验证信息”);>b) 设置HTTP响应报头:response。setContentType(“text/html”)2) Session, 与请求有关的会话期,使服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session对象就会自动消失。a) 创建及获取客户的会话:使用setAttribute()和getAttribute()方法b) 从会话中移除指定对象:session。removeAttribute (String name);例如:session。setAttribute("information",”向session中保存数据”);response.sendRedirect("forward.jsp");在forword。jsp中:session.removeAttribute(”information");c) 销毁session:用session。invalidate();3) Application, 对象用于保存所有应用程序中的公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。application对象与session对象有所区别,session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个内置的application对象.可以用于网页计算器: int number=0;if(application。getAttribute("number”)=null)number=1;elsenumber=Integer。parseInt((String)application。getAttribute("number”);number=number+1;out.print(”您是第”+number+”位访问者!”);application.setAttribute("number”,String.valueOf(number);%>4) Out, 主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区。15. JavaBean技术的应用:值JavaBean: 例:在登录页面表单中有与已创建的JavaBean属性相对应的字段:转发到一下处理页面,用值JavaBean进行处理:jsp:useBean id="user" class=”com。yxq。bean.User"><jsp:setProperty name="user” property=”*"/</jsp:useBean><b>用户名:</b<jsp:getProperty name=”user” property="userName"/b>密码:/bjsp:getProperty name=”user” property="userPass”/工具JavaBean:public class MyTools public static String change(String str)str=str。replace(”",”&lt;");str=str.replace(”,”&gt;”);return str;/将<,进行转换int i=0;i=Integer。parseInt(str)/将String转换为int解决中文乱码:public static String toChinese(String str)if(str=null)str="";try /通过String类的构造方法将,指定的字符串转换为“gb2312”编码str=new String(str.getBytes(”ISO-8859-1"),”gb2312”);16. Servlet技术:1) 创建Servlet的步骤:(1)继承HttpServlet抽象类。(2)重载适当的方法,如覆盖(或称为重写)doGet()方法或doPost()方法。 (3)如果有HTTP请求信息的话,获取该信息。可通过调用HttpServletRequest类对象的getParameter()方法获取http请求信息(4)生成HTTP响应.HttpServletResponse类对象生成响应简单的实例:public class MyServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response。setContentType("text/html;charset=gb2312”);PrintWriter out = response.getWriter();out.println(”保护环境!爱护地球!”);2) Web.xml文件的配置:web-app><servlet>servlet-nameMyServlet</servlet-nameservlet-class>com。MyServlet/servletclass> loadon-startup10</loadon-startup/启动装入优先权,小者优先</servlet<servlet-mapping<servletname>MyServlet</servlet-name>urlpattern/textServlet</url-pattern>/servletmapping>/web-app>17. 数据库相关知识:1) 连接数据库的步骤:a) 加载JDBC驱动程序 通过静态方法forName(String className)实现b) 创建数据库连接 Connection conn = DriverManager。getConnection()c) 执行SQL语句 但是通过Connection实例并不能执行SQL语句,还需要通过Connection实例创建Statement实例,Statement实例又分为以下3种类型:(1)Statement实例:该类型的实例只能用来执行静态的SQL语句;(2)PreparedStatement实例:该类型的实例用于执行动态SQL语句的功能(3)CallableStatement对象:该类型的实例用于执行数据库存储过程的功能.d) 获得查询结果 如果执行的是executeUpdate()方法,将返回一个int型数值,代表影响数据库记录的条数,即插入、修改或删除记录的条数;如果执行的是executeQuery()方法,将返回一个ResultSet型的结果集,其中不仅包含所有满足查询条件的记录,还包含相应数据表的相关信息e) 关闭连接 通过各个实例的close()方法2) 连接SQL数据库实例:<% String driverClass=”com。microsoft。jdbc。sqlserver.SQLServerDriver”; String url = ”jdbc:microsoft:sqlserver:/127。0.0.1:1433;DatabaseName=db_database08”; String username = "sa"; String password = ”; Class.forName(driverClass); Connection conn=DriverManager.getConnection(url, username, password); Statement stmt=conn。createStatement(); ResultSet rs = stmt。executeQuery(”select from tb_user”);while(rs.next())out.println("<br>用户名:"+rs.getString(2)+"密码:"+rs。getString(3)); rs.close();stmt.close(); conn.close(); >18. AjaxAjax=异步Javascript和XML,是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。XMLHttpRequest 是 AJAX 的基础,用于在后台与服务器交换数据.Var xmlhttp=new ActiveXObject(”Microsoft.XMLHTTP”);常用方法:open(method,url,async) send()onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。readyState存有 XMLHttpRequest 的状态。0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成,且响应已就绪status200: ”OK"404: 未找到页面responseText服务器的响应,表示为字符串responseXML服务器的响应,表示为XML,这个对象可以解析为一个DOM对象搭建Ajax开发框架实例:script language=”javascript”> var http_request = false; function createRequest(url) http_request = false;try http_request = new ActiveXObject(”Msxml2.XMLHTTP”); catch (e) try http_request = new ActiveXObject(”Microsoft。XMLHTTP"); catch (e) http_request。onreadystatechange = getResult; /调用返回结果处理函数 http_request。open(POST, url, true); http_request.send();/返回结果处理函数 function getResult() if (http_request。readyState = 4) / 判断请求状态 if (http_request.status = 200) / 请求成功,开始处理返回结果 answer。innerHTML=http_request。responseText; else /请求页面有错误 alert("您所请求的页面有错误!");</script</head><body>这是一生中难得的机会。<a href=”" onClick="createRequest(target。htm')”汉译英/a>div id="answer”/div>/body19. Cookie:1) Cookie的格式:Set-Cookie: Name = Value;Comment = value; Domain = value; Max-Age = value; Path = Value;2) 创建cookie: response.add(cookie) 例如:String pass= request.getParameter(”upass”);String uname=request。getParameter("uname");final String sSession = uname+”:"+pass; Cookie oItem = new Cookie("SSO", sSession); /oItem。setDomain(“。my。com"); /域 oItem.setMaxAge(142460*60); /秒; 0/-1 oItem。setPath(“/bbs"); /域下的路径response.addCookie(oItem);3) 获取cookie: request.getCookies 得到的是一个cookie数组获取以上设置的cookie: Cookie cookie = request。getCookies(); String upass, uname; String s=null; Cookie ucookie ; for(int i =0 ; i<cookie.length; i+) if(cookiei.getName().equals(”SSO") s=cookiei。getValue();4) 销毁cookie 将age设置为0即可:setMaxAge(0)20. EL表达式:$expression 通过表达式语言调用JavaBean中的属性值或方法的代码:jsp:useBean id="dao” scope="page” class="com.UserInfoDao">/jsp:useBean> $dao。name dao。getName()21. JSTL标准标签库重点介绍核心标签库的5中标签库< taglib prefix=”c” uri="http:/java.sun。com/jsp/jstl/core” 1) 表达式标签: a) <c:out标签: 用于将计算的结果输出到JSP页面中<c:out value=”value" escapeXml="truefalse” default=”defaultValue"/例如:escapeXml属性值为false时:<c:out value=”<hr” escapeXml="false"/escapeXml属性值为true时:c:out value="<hr”/第一种语法格式:c:out value=”name” default=”name的值为空"/>第二种语法格式:<c:out value="$name”> name的值为空 </c:out> b) c:set>标签:用于定义和存储变量c:set value=”value” var=”name” scope="pagerequest|sessionapplication”/c) <c:remove标签:可以从指定的JSP范围中移除指定的变量c:remove var="name" scope=”pagerequest|session|application"/>2) 条件标签:(a) c:if标签:在scope范围内,判断test并将条件的判断结果保存在var属性指定的变量中c:if test="condition" var="name” scope=page|request|session|application例如:<c:if test="$param.user=null" var=”rtn" scope=”page”/<c:out value=”rtn"/输出false<c:if test="param。user=null”><form action="" method=”post">请输入用户名:<input type="text” name=”user">input type="submit” value="提交"</form></c:if(b) <c:choose标签,语法:<c:choose<c:when</c:when>c:otherwise>/c:otherwise/c:choose例如:c:set var=”hours”><=new java.util。Date().getHours()>/c:set><c:choose>c:when test=”$hours6 & hours<11" >上午好!</c:when<c:when test=”hours>11 hours<17"下午好!</c:when><c:otherwise>晚上好!/c:otherwise</c:choose> 现在时间是:$hours时3) 循环标签:a) <c:forEach>标签: 可以枚举集合中的所有元素,也可以循环指定的次数c:forEach items="data" var=”name” begin="start" end=”finish" step="step” varStatus="statusName”>标签主体/c:forEach例如:应用<c: forEach 标签循环输出List集合中的内容,并通过c: forEach >标签循环输出字符串“编程词典”6次:<body><List list=new ArrayList();list。add("无语");list。add(”冰儿”);list.add(”wgh");request.setAttribute("list”,list);>利用lt;c:forEach&gt;标签遍历List集合的结果如下:<br>c:forEach items=”$list" var="tag” varStatus="id">id。count nbsp;tag br</c:forEach<c:forEach begin=”1" end=”6" step=”1” var=”str">c:out value=”str”/>编程词典</c:forEach/body>b) <c:forTokens标签: 可以用指定的分隔符将一个字符串分割开,根据分割的数量确定循环的次数。<c:forTokens items="String” delims=”char" />例如:bodyc:set var=”sourceStr" value="无语|冰儿wgh简单simpleRain"/原字符串:<c:out value="$sourceStr”/><br分割后的字符串:<c:forTokens var=”str" items="$sourceStr” delims=”" varStatus="status"<c:out value="str"/c:out> <c:if test="$status.last”>br总共输出<c:out value="$status.count">/c:out>个元素.</c:if</c:forTokens /body22. 例题:用Servlet+JSTL实现用户验证:其中表单提交部分省略,参数为unam,upass;String uname=""String upass="”;try uname=request.getParameter("uname”);upass=request.getParameter(”upass");uname=uname.trim();upass=upass。trim();ArrayListUserInfo userlist=new ArrayList<UserInfo();/省略数据库连接字段/Connection con;con=DriverManager.getConnection(connectionString);PreparedStatement ps=con。prepareStatement(sqlString);ResultSet rs=ps。executeQuery();while(rs.next())UserInfo user=new UserInfo();user.setUserName(rs。getString(1).trim();user.setUserPass(rs。getString(2)。trim());userlist.add(user); request.setAttribute("ulist”, userlist);request。getRequestDispatcher("show。jsp")。forward(request, response);在show.jsp里,显示代码如下:<c:forEach var="gs" items=”$ulist” varStatus="id" tr><td height=”34”>id.count </td> <td><c:out value="gs.uname "/>/td>td<c:out value=”gs。upass"/tdtd<a href="$pageContext。request.contextPath/Op?action=enmodifyid=$gs。id"修改/a</td> /c:forEach

注意事项

本文(jsp程序设计-复习重点)为本站会员(ag****7)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!