1、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、stri
2、ng(4,strB、length));//输出结果就是:明天 才就是真 3. 在表单提交中文信息时,应在对应Servlet中添加如下代码:requesrt、setCharacterEncoding(“gb2312”) 4. JAVABean得分类:(1)可视化JavaBean(2)不可视JavaBean;不可视JavaBean又分为值JavaBean与工具JavaBean。值JavaBean严格遵循了JavaBean得命名规范,通常用来封装表单数据,作为信息得容器。 JavaBean就是根据特殊得规范编写得普通得Java类,可称它们为“独立得组件”。每一个JavaBean实现一个特定
3、得功能,最大优点就就是充分提高了代码得可重用性。 通常一个标准得JavaBean需遵循以下规范: (1)实现java、io、Serializable接口; (2)就是一个公共类; (3)类中必须存在一个无参数得构造函数; (4)提供对应得setXxx与getXxx方法来存取类中得属性 5. Servlet 得生命周期:第一步:用户通过客户端浏览器请求服务器,服务器加载Servlet,并创建一个Servlet实例;第二步:容器调用Servlet得init方法;第三步:容器调用service方法,并将ServletRequest与ServletResponse对象传递给该方法,在ser
4、vice方法中处理用户请求;第四步:在Servlet中请求处理结束后,将结果返回给容器;第五步:容器将结果返回给客户端进行显示;第六步:当Web器关闭时,调用destroy方法销毁Servlet实例。 Servlet与JSP得区别:Servlet就是运行在服务器端运行得Java程序;JSP就是一种脚本语言; 6. Servlet就是在JSP之前就存在得运行在服务端得一种Java技术、Servlet主要用于处理请求,并将处理得结果传递给浏览器生成动态Web页面。Servlet具有可移植,功能强大、安全、可扩展与灵活等优点。与JSP得区别:(1)编程方式不同;(2)Servlet必须在编
5、译以后才能执行;(3)运行速度不同。 7. JSP就是运行在服务器端得脚本语言之一,就是用来开发动态网页得一种技术。 8. JSP得处理过程:1、客户端通过浏览器向服务器发出请求,在该请求中包含了请求得资源得路径,这样当服务器接收到该请求后就可以知道被请求得资源。2、 服务器根据接收到得客户端得请求来加载被请求得JSP文件。3、 Web服务器中得JSP引擎会将被加载得JSP文件转化为Servlet。4、 JSP引擎将生成得Servlet代码编译成Class文件。5、 JSP引擎将生成得Servlet代码编译成Class文件。6、 服务器将执行结果发送给浏览器进行显示 9. JSP得三种指
6、令标识: 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
7、 name="YXQ";Integer、parseInt(name); //将字符串转化为int型%>
Error、jsp中:<% page contentType="text/html;charset=gb2312" isErrorPage="true" %>出现错误!错误如下:
<%=exception、getMessage%>
b) <% include file="文件得绝对路径或相对路径" %>如果该属性值以“/”开头,那么指定得就是一个绝对路径,将在当前应用得根目录下查找文件;如果就是以文件名称或文件夹名开头,那么指定得就是一个相对路径,将在当前页面得目录下查找文件。
8、c) <% taglib uri="tagURI" prefix="tagPrefix" %>例如:<% taglib uri="" prefix="c" %> 10. JSP得注释: HTML中得注释: 带有JSP表达式得注释:> 隐藏注释 :<% 注释内容 %> 脚本程序(Scriptlet)中得注释 :单行//,多行/**/ 11. JSP得脚本标识: JSP表达式:用于向页面中输出信息,<%= %> 声明标识: 可以声明变量或方法<%! 声明变量或方法得代码 %> 脚本程序:<% Java程序片段 %>
9、
12. JSP得动作标识:
1)
10、st对象中得信息都不存在了。
3)
11、瞧作一个实际存在得文件得路径,所以该属性不支持任何表达式
2) 处理方式:使用include指令被包含得文件,它得内容会原封不动地插入到包含页中使用该指令得位置,然后JSP编译器再对这个合成得文件进行翻译。所以最终编译后得文件只有一个;使用
12、程称为静态包含;
13、t对象得setAttribute方法设置数据,然后在请求转发后取得设置得数据。例:<%request、setAttribute("error","很抱歉!您输入得用户名或密码不正确!");%>
14、ie[] cookies=request、getCookies;
Cookie cookie_response=null;
if(cookies!=null){ cookie_response=cookies[0];}
out、println("本次访问时间:"+new java、util、Date+"
");
if(cookie_response!=null){
//输出上一次访问得时间。并设置cookie_response对象为最新时间。
out、println("上一次访问时间:"+cookie_response、getValue);
cookie_r
15、esponse、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) 重定向网页:r
16、esponse、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"); }else{re
17、sponse、sendError(500,"请输入登录验证信息");}%> b) 设置响应报头:response、setContentType(“text/html”) 2) Session, 与请求有关得会话期,使服务器与客户端之间得连接就会一直保持下去,但就是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session对象就会自动消失。 a) 创建及获取客户得会话:使用setAttribute与getAttribute方法 b) 从会话中移除指定对象:session、removeAttribute (String name); 例如:session、s
18、etAttribute("information","向session中保存数据"); response、sendRedirect("forward、jsp"); 在forword、jsp中:session、removeAttribute("information"); c) 销毁session:用session、invalidate; 3) Application, 对象用于保存所有应用程序中得公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。application对象
19、与session对象有所区别,session对象与用户会话相关,不同用户得session就是完全不同得对象,而用户得application对象都就是相同得一个对象,即共享这个内置得application对象。 可以用于网页计算器:<% int number=0; if(application、getAttribute("number")==null){number=1;}else{ number=Integer、parseInt((String)application、getAttribute("number")); number=number+1;} out、print("您就
20、是第"+number+"位访问者!");
application、setAttribute("number",String、valueOf(number));%>
4) Out, 主要用来向客户端输出各种数据类型得内容,并且管理应用服务器上得输出缓冲区。
15. JavaBean技术得应用:
值JavaBean:
例:在登录页面表单中有与已创建得JavaBean属性相对应得字段:
转发到一下处理页面,用值 JavaBean进行处理:
22、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("ISO88591"),"gb2312"); }} 16. Servlet技术: 1) 创建Servlet得步骤: (1)继承Servlet
23、抽象类。 (2)重载适当得方法,如覆盖(或称为重写)doGet方法或doPost方法。 (3)如果有请求信息得话,获取该信息。可通过调用ServletRequest类对象得getParameter方法获取请求信息 (4)生成响应。ServletResponse类对象生成响应 简单得实例:public class MyServlet extends Servlet { public void doGet(ServletRequest request, ServletResponse response) throws ServletException, IOException
24、 {
response、setContentType("text/html;charset=gb2312");
PrintWriter out = response、getWriter;
out、println("保护环境!爱护地球!");}}
2) Web、xml文件得配置:
webapp> 25、t>
26、需要通过Connection实例创建Statement实例,Statement实例又分为以下3种类型:
(1)Statement实例:该类型得实例只能用来执行静态得SQL语句;
(2)PreparedStatement实例:该类型得实例用于执行动态SQL语句得功能
(3)CallableStatement对象:该类型得实例用于执行数据库存储过程得功能。
d) 获得查询结果 如果执行得就是executeUpdate方法,将返回一个int型数值,代表影响数据库记录得条数,即插入、修改或删除记录得条数;如果执行得就是executeQuery方法,将返回一个ResultSet型得结果集,其中 27、不仅包含所有满足查询条件得记录,还包含相应数据表得相关信息
e) 关闭连接 通过各个实例得close方法
2) 连接SQL数据库实例:
<% String driverClass="、microsoft、jdbc、sqlserver、SQLServerDriver"; String url = "jdbc:microsoft:sqlserver://127、0、0、1:1433;DatabaseName=db_database08";
String username = "sa"; String password = "";
Class、forName(dr 28、iverClass);
Connection conn=DriverManager、getConnection(url, username, password);
Statement stmt=conn、createStatement;
ResultSet rs = stmt、executeQuery("select * from tb_user");
while(rs、next){out、println(" 29、lose; conn、close; %>
18. Ajax
Ajax=异步Javascript与XML,就是一种用于创建快速动态网页得技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页得情况下,对网页得某部分进行更新。
XMLRequest 就是 AJAX 得基础,用于在后台与服务器交换数据。
Var xml=new ActiveXObject("Microsoft、XML");
常用方法:open(method,url,async) send
onreadystatechange
存储函数(或函数名),每当 read 30、yState 属性改变时,就会调用该函数。
readyState
存有 XMLRequest 得状态。
0: 请求未初始化
1: 服务器连接已建立2: 请求已接收
3: 请求处理中4: 请求已完成,且响应已就绪
status
200: "OK"404: 未找到页面
responseText
服务器得响应,表示为字符串
responseXML
服务器得响应,表示为XML,这个对象可以解析为一个DOM对象
搭建Ajax开发框架实例:
33、ead>
用户名:"+rs、getString(2)+" 密码:"+rs、getString(3));}
rs、close;stmt、c
34、upass"); String uname=request、getParameter("uname"); final String sSession = uname+":"+pass; Cookie oItem = new Cookie("SSO", sSession); //oItem、setDomain(“、my、"); //域 oItem、setMaxAge(14*24*60*60); //秒; 0/1 oItem、setPath(“/bbs”); //域下得路径 response、addCookie(oItem); 3) 获取cooki
35、e: request、getCookies 得到得就是一个cookie数组
获取以上设置得cookie:
Cookie []cookie = request、getCookies;
String upass, uname; String s=null;
Cookie ucookie ; for(int i =0 ; i 36、20. EL表达式:${expression}
通过表达式语言调用JavaBean中得属性值或方法得代码:
37、"true|false"] [default="defaultValue"]/>
例如:escapeXml属性值为false时: 39、on
例如:
40、hoose> 41、间就是:${hours}时
3) 循环标签:
a) 42、语");list、add("冰儿");list、add("wgh");
request、setAttribute("list",list);%>
利用<c:forEach>标签遍历List集合得结果如下: 43、forEach>
b) 45、request、getParameter("upass");
uname=uname、trim;upass=upass、trim;
ArrayList 46、
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里,显示代码如下:
分割后得字符串:
总共输出${id、count }
修改