javaWeb开发笔记.docx
- 文档编号:10084343
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:17
- 大小:346.54KB
javaWeb开发笔记.docx
《javaWeb开发笔记.docx》由会员分享,可在线阅读,更多相关《javaWeb开发笔记.docx(17页珍藏版)》请在冰点文库上搜索。
javaWeb开发笔记
第一部分web应用程序与servlet
第1章应用程序介绍
1.1应用程序分为两种模式
客户端(Client)/服务器(Server)简称C/S
浏览器(Broswer)/服务器(Server)简称B/S
小知识URL:
统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。
简单说就是网址。
1.2C/S模式简介(桌面应用程序)
典型的桌面应用程序的示例有记事本,媒体播放器等等。
是本地.exe程序。
用户和桌面程序的交互如图。
桌面程序的交互
1.3B/S模式简介(web项目)
浏览器服务器端
随着Internet的兴起,现在大多数电脑用户更加习惯Internet的Web应用。
用户和Web应用程序的交互。
第2章Servlet简介(服务器端小程序)
2.1概念
简单来说,servlet就是运行在服务器上的web小程序,这些小程序能够响应客户端的请求并作出回应
2.2手动实现过程
1.在src中创建一个类这个类要继承HttpServlet(抽象类)并复写doGet()和doPost()方法,并在doGet方法中编写简单的输出语句
publicclassLoginextendsHttpServlet{
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
PrintWriterout=resp.getWriter();//
out.print("aaa");
out.close();
}
}
2.修改web.xml配置文件
在配置文件中添加Servlet描述名称类url等信息
具体标签说明:
◆Description描述
◆display-name显示的名称
◆servlet-nameServlet名称
◆servlet-classServlet关联的类
◆url-patternURL路径
3.在index.jsp添加 forward>自动跳转标记指向/laidenglu forwardpage="/laidenglu"> forward> 4.启动tomcat服务器并在ie中输入URL进行测试 2.3网页内容提交方式(get、post) 2.3.1get方式 1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以? 分割URL和传输数据,参数之间以&相连,如: login.action? name=jordan&password=123&age=22。 2.GET方式提交的数据最多只能是1024字节, 3.在JSP中,服务端获取GET请求参数用request.getParameter("XXXX")来获取 4.通过GET提交数据,用户名和密码将明文出现在URL上,因为登录页面有可能被浏览器缓存,其他人查看浏览器的历史记录,那么别人就可以拿到你的账号和密码了, request.getParameter("参数名")获取get(地址栏)参数值 2.3.2post方式 1.POST通过Form表单提交数据 2.理论上POST没有限制,可传较大量的数据 3.POST的安全性要比GET的安全性高 request.Form("参数名")获取post(表单)参数值 或 request.getParameter("参数名")获取 2.4HttpServlet抽象类 doGet()和doPost()方法 2.4.1复写doGet()方法 能够响应get(URL跳转)方式的请求一般情况下的页面跳转使用此方法做出响应 2.4.2复写doPost()方法 能够响应post(表单提交)方式的请求表单提交是使用此方法作出相应 2.5Servlet中常用的类 在doGet()和doPost()两个方法中自带两个参数 doGet(HttpServletRequestrequest,HttpServletResponseresponse) doPost(HttpServletRequestrequest,HttpServletResponseresponse) 2.5.1HttpServletRequest接受请求 HttpServletRequest可以接受客户端的请求获取客户端传递过来的参数值 示例代码: request.getParameter("yhm");//获取Get地址栏参数 request.Form("mima");//获取Post表单数据 2.5.2HttpServletResponse响应请求 向客户端输出信息 示例代码: PrintWriterout=response.getWriter(); out.println(“大家好! ”); 第3章自动创建Servlet 非常方便演示 第4章用户信息管理项目 制作一个用户信息小项目包含登录和输出用户表的数据功能 第二部分jsp(JavaServerPage) jsp: 就是java服务页,可以认为jsp是Servlet的升级,对比Servlet开发要方便得多。 Jsp输出表格 <%for(inti=1;i<=100;i++){ out.print(" out.print(" out.print(" out.print(" out.print(""); "); "); ");"+i+" jordan 123456 ");
}%>
第5章JSP九大内置对象
内置对象:
就是java提供能够实现web应用程序的类,由java本身提供
类名
名称
类型
作用域
request
请求对象
javax.servlet.ServletRequest
Request
response
响应对象
javax.servlet.SrvletResponse
Page
session
会话对象
javax.servlet.http.HttpSession
Session
Cookie
读写客户端对象
属于request和response
Session
application
应用程序对象
javax.servlet.ServletContext
Application
out
输出对象
javax.servlet.jsp.JspWriter
Page
config
配置对象
javax.servlet.ServletConfig
Page
page
页面对象
javax.lang.Object
Page
pageContext
页面上下文对象
javax.servlet.jsp.PageContext
Page
exception
例外对象
javax.lang.Throwable
Page
作用域
对象或者变量所使用的范围
Page(当前页)
Request(同请求的)
Redirect新的请求开始
Forward请求转发同一个请求例如 forwardpage="main.jsp">
forward>
Session
Application(全局应用程序变量)
5.1Request对象
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以
获取用户提交的信息。
5.1.1Request常用的方法:
5.1.1.1getParameter(StringstrTextName)获取表单提交的信息。
StringstrName=request.getParameter("name");
5.1.1.2getProtocol()获取客户使用的协议。
StringstrProtocol=request.getProtocol();
5.1.1.3getServletPath()获取客户提交信息的页面。
StringstrServlet=request.getServletPath();
5.1.1.4getMethod()获取客户提交信息的方式,get|post。
StringstrMethod=request.getMethod();
5.1.1.5getHeader()获取HTTP头文件中的accept、accept-encoding和Host的值。
StringstrHeader=request.getHeader("accept");
5.1.1.6getRermoteAddr()获取客户的IP地址。
StringstrIP=request.getRemoteAddr();
5.1.1.7getRemoteHost()获取客户机的名称。
StringclientName=request.getRemoteHost();
5.1.1.8getServerName()获取服务器名称。
StringserverName=request.getServerName();
5.1.1.9getServerPort()获取服务器的端口号。
intserverPort=request.getServerPort();
5.1.1.10getParameterNames()获取客户端提交的所有参数的名字。
5.1.2输出从客户端获取的所有信息:
Enumerationenum=request.getParameterNames();
while(enum.hasMoreElements()){
Strings=(String)enum.nextElement();
out.println(s);
}
5.1.3解决提交中文内容是的乱码问题
当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。
首先,将获取的
字符串用ISO-8859-1进行编码,并将编码存发到一个字节数组中,然后再将这个数组转化为字符串对象
即可。
如下:
StringtextContent=request.getParameter("boy");
byteb[]=textContent.getBytes("ISO-8859-1");
textContent=newString(b,”utf-8”);
//设置编码方式
request.setCharacterEncoding("utf-8");
5.2Response对象
对客户的请求做出动态的响应,向客户端发送数据。
5.2.1动态响应contentType属性
当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,那么JSP引擎将按照这个属性值做出反应。
如果要动态改变这换个属性值来响应客户,就需要使用Response对象的setContentType(Strings)方法来改变contentType的属性值。
格式:
response.setContentType(Strings);
参数s可取text/html,application/x-msexcel,application/msword等。
5.2.2Response重定向
在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用Response的sendRedirect(URL)方法实现客户的重定向。
例如:
response.sendRedirect("index.jsp");
5.3Session对象
5.3.1什么是Session对象
Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
5.3.2Session对象的ID
当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的Session对象。
5.3.3Session对象的常用方法
5.3.3.1StringgetId():
获取Session对象编号。
5.3.3.2voidsetAttribute(Stringkey,Objectobj):
将参数Object指定的对象obj添加到Session对象中,并为添加的对象指定一个索引关键字。
5.3.3.3ObjectgetAttribute(Stringkey):
获取Session对象中含有关键字的对象。
5.3.3.4BooleanisNew():
判断是否是一个新的客户。
5.4Application对象
5.4.1什么是Application对象
服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。
但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
5.4.2Application对象的常用方法
5.4.2.1setAttribute(Stringkey,Objectobj):
将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字。
5.4.2.2getAttribute(Stringkey):
获取Application对象中含有关键字的对象。
5.5Out对象
Out对象时一个输出流,用来向客户端输出数据。
Out对象用于各种数据的输出。
其常用方法如下。
out.print():
输出各种类型数据。
out.newLine():
输出一个换行符。
out.close():
关闭流。
5.6Cookie对象
5.6.1什么是Cookie
Cookie是Web服务器保存在用户硬盘上的一段文本。
Cookie允许一个Web站点在用户电脑上保存信息并且随后再取回它。
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
如果用户使用IE浏览器访问Web,用户就会看到所有保存在自己硬盘上的Cookie。
它们最常存放的地方是:
C:
/Windows/Cookies。
Cookie是以“关键字key=值value”的格式来保存记录的。
5.6.2创建一个Cookie对象
调用Cookie对象的构造函数就可以创建Cookie对象。
Cookie对象的构造函数有两个字符串参数:
Cookie名字和Cookie值。
例如:
Cookiec=newCookie("username","john");
5.6.3将Cookie对象传送到客户端
在JSP中,如果要将封装好的Cookie对象传送到客户端,可使用Response对象的addCookie()方法。
例如:
response.addCookie(c)。
5.6.4读取保存到客户端的Cookie
使用Request对象的getCookie()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。
例如:
Cookie[]c=request.getCookies();
if(c!
=null)
for(inti=0;i { if("username".equals(c.getName())) out.println(c.getValue()); } 5.6.5对象的有效时间 调用Cookie对象的setMaxAge()方法便可以设置Cookie对象的有效时间, 例如: Cookiec=newCookie("username","john"); c.setMaxAge(3600); 5.6.6Cookie应用 Cookie对象的典型应用时用来统计网站的访问人数。 由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一ID。 使用Cookie,网站可以完成一下工作。 ●测定多少人访问过。 ●测定访问者有多少是新用户(即第一次来访),多少是老用户。 ●测定一个用户多久访问一次网站 当一个用户第一次访问时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。 用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数。 5.7Config对象 配置对象 方法: 1.StringgetInitParameter(Stringname); 返回名称为name的初始参数的值。 2.EnumerationgetInitParameters(); 返回这个JSP所有的初始参数的名称集合。 3.ServletContextgetContext(); 返回执行者的servlet上下文。 4.StringgetServletName(); 返回servlet的名称。 5.8Page对象 页面对象。 PageContext对象 页面上下文对象 Jsp引入了一个名位PageContext的类,通过它可以访问页面的许多属性。 PageContext类拥有getRequest,getResponse,getOut,getSession等方法。 pageContext变量存储与当前页面相关联的PageContext对象的值。 补: 如果方法需要访问多个与页面相关的对象, 传递pageContext要比传递request,response,out等的独立引用更容易。 (虽然两种方式都能达到同样的目的) 5.9Exception对象 在处理异常的网页中可以直接访问exception隐式对象。 try { } catch(Exceptionex) { System.out.print(ex.getMessage); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaWeb 开发 笔记