Java Web 基础

首先:java web 是大学的唯一一门技术课,故必须要会java web不然我的大学真的就被人笑谈为:
只懂一些理论的书呆子;
1、在html中写java代码:格式<% %>
2、在html设置 id是唯一的通常是用于 javaScript
在html中设置name是用于服务器端;
Jsp内置对象
1、out对象:当jsp容器将jsp页面自动转化成Servlet实现类时,所有的模板元素都会转化为
out.print()语句输出。
①向浏览器输出数据
public abstract void print() 显示各种类型的数据,该方法需要一个参数。
public abstract void println()分行显示各种类型的数据。
public abstract void close()关闭输出流。
②对缓冲区进行操作
public abstract void clear()清空缓冲区中的内容,不将数据发送到客户端。
public abstract void clearBuffer()清空缓冲区中的内容。
public abstract void getBuffersize()获取缓冲区的大小。
2、request对象:是从客户端向服务器端发出请求,包含用户提交的信息及客户端的一些信息。
request对象封装了浏览器的请求信息,通过request对象的各种方法可以获取
客户端以及用户提交各项请求信息。
①String getParameter(String name),获取客户端的参数值。
例如:String name=request.getParameter(“name”);
String[] getParameterValues(String name);
获取单个参数的所有参数值,主要用于获取复选框的值,
返回类型是字符串数组。
②Enumeration getParameterNames()获取所有参数的名称。返回值类型是枚举型
③void setCharacterEncoding(“UTF-8”); 设置编码;

3、response对象:response对象和request对象相对应,用于服务器封装请求后产生的结果,
并将结果响应给客户端。
①设定HTTP标头的方法
void addDateheader(String name ,long date) 新增long类型,名称name 的标头
void addHeader(String name,String value) 新增String类型,名称为name标头
void addIntHeader(String name , int value) 新增int类型,名称为name的标头

response.setHeader(“refresh”,”60;url=”); 设置自动刷新的时间。
②重新定向方法解析
void sendRedirect(String url)将页面重新定向的URL地址上。
它可以实现浏览器重新定向功能。常用;
③设定状态码的方法
void sendError(int sc) 传送状态码
void sendError(int sc,String msg) 用给定的状态码给客户端发送一个错误响应。
void setStatus(int sc); 设置状态码;

4、session对象:用于在会话范围内,记录每个客户端的方位状态。
工作原理:
①客户端首次访问服务器的,服务器就会为该客户分配一个session对象,同时为该session
对象指定一个唯一的ID,并且将该ID发送给客户端并写入到Cookie中,是客户和服务端建立
一一对应的关系。
②当客户继续访问服务器上的其他资源时,服务器不再为客户分配新的session对象,直到
客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器
的会话结束。
③当客户端重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,
并重新分配sessionID.
①常用方法:
public void setAttribute(String name,Object value)设定指定名字的属性和值;
并将其添加到session会话中,如果属性在会话范围内,则更改属性的值。
public Object getAttribute(String name)
在会话中获取指定名字的属性和值
public void removeAttribute(String name)删除指定名字的session属性,若该属性
不存在,则出现异常。
public void invalidate() ,使session失效。
public String getId() 获取当前会话的ID ,
简单实例:
register.html
姓名:
one.jsp
<%
session.setAttribute(“sessionname”,name); //将html中的name 获取
%>
two.jsp
<%
session.getAttribute(“sessionname”); //从会话中获取

    %>

5、cookie
①Cookie可以实现让站点跟踪特定访问者访问的次数、最后访问的时间以及访问者进入站点的路径。
②Cookie能够帮助站点统计用户个人资料,以实现个性化服务。
③Cookie在同一个站点内可以实现自动登录功能,使得用户不需要输入用户名和密码。
6、application
是在服务器启动后产生的,当客户访问服务器上的一个jsp页面时,jsp引擎为该客户分配
这个application对象,当客户浏览所访问的网站的各个页面时,对象是同一个;
区别:
session:①不同客户的session是不同的;但是applicaiton是 相同的;
②取消在浏览器关闭就取消啦;
②:
public Object getAttribute(String name)获取application 对象含有的属性,
是name的对象,若name不存在则返回null,由于任何对象都可以添加到application
对象中,因此该方法获取对象,应该强制转化为原来的类型。
例如:
<%
int num;
if(application.getAttribute(“num”)==null){
application.setAttribute(“num”,”1”);
}else{
num=Integer.parseInt((String)application.getAttribute(“num”));
num++;
application.setAttribute(“num”,Integer.toString(num));
}
%>

这个页面已经浏览了+<%=(String)application.getAttribute(“num”) %>次
7、其他内置对象:
Servlet技术:
servlet是用java语言编写的程序,运行于支持web服务器或应用服务器中。Servlet先于JSP出现
提供和客户端动态交互的功能,Servlet可以处理来自客户端的HTTP请求,并生成响应返回给
客户端。
Servlet具有以下优点:
1、可移植性:
由于Servlet是用java语言编写的,因此他可以在不同的操作系统和服务器上移植。
2、安全性
Servlet具有类型检查特性,并利用Java的垃圾回收和没有指针的设计,使得Servlet
避免内存管理等问题。
3、高效
Servlet加载执行后会产生服务器内存中,当再次收到客户端的请求时,服务器会产生
新的线程而不是进程为客户端服务,这样提高了速度。
Servlet的生命周期
①当客户端第一次请求Servlet时,Servlet被加载到内存,容器会创建Servlet实例,并调用其
init()方法进行初始化。
②容器创建请求对象和响应,然后调用Servlet的service()方法为客户端提供服务。
③当Servlet不再被需要时,容器用Servlet的destory方法将Servlet实例销毁。
Servlet的API:
方法:
getServletContext():获取ServletContext对象,即JSP内置对象中的application对象。
getServletName():获取Servlet配置声明在web应用内部使用。
getInitParameter(String name):获取Servlet配置时提供的名为name的参数值。
HttpServletRequest的常用方法:
①getRequestURL():获取请求URL地址,包含协议名,服务器名、端口号
②getContextPath()获取Web应用的根路径;
③getServletPath()获取Servlet的访问地址。
④getParameter(String name)获取name的参数的单个值。
⑤getParameterValues(String name)获得名为name的参数的多个值。
⑥getAttribute(String name)获得名为name的属性值。
⑦setAttribute(String name,String value) 设置名name的属性值为value
⑧getSession()获取session对象。
⑨getRequestDispatcher(String path)获取请求转发对象,转向地址为path。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值