您的位置:首页 > 编程语言 > Java开发

Java web学习(一)

2016-03-05 13:12 387 查看
什么是jsp?
在html代码中嵌入Java代码片段和jsp标签,构成jsp网页,在接收到用户请求是,服务器会处理Java代码片段,然后将生成处理结果的HTML页面返回给客户端,客户端的浏览器将呈现最终页面效果,

jsp技术特征:1)跨平台;2)业务代码锋利;3)组件重用;4)继承Java servlet功能;5)预编译。

jsp基本构成:jsp页面主要由指令标签,HTML标记语言,注释,嵌入Java代码,jsp动作标签等5个元素组成。
1)指令标签:主要由3个:page、include,taglib。
格式:<%@ 命令 属性名=属性值,...>
page指令包括属性:language、extends、import、pageEncoding、contentType、session、buffer、autoFlush、info、isErrorPage、errorPage、isELIgnored。
pageEncoding="utf-8"用来当前jsp页面的编码格式;
contentType="y=text/html;charset=utf-8"用来设置jsp页面的mime类型和字符编码。浏览器会根据此来显示网页内容。
include指令:静态包含。file属性
taglib指令:用于加载用户自定义标签。<%@ taglib prefix="c" uri="...">
2)嵌入Java代码:代码片段<% %>,声明<%! %> 表达式<%= %>
3)jsp动作标签:<jsp:include page=""/><jsp:forward page=""/><jsp:param name="" value=""/>

jsp内置对象:共有九个request,response.session,apllication,page,pageContext,out,config,exception
1)request对象
HttpServletRequest对象,有以下几个方法:
①获取请求参数值:request.getParameter(name)
②解决中文乱码
name=URLEncoder.encode(param);
String param = new String(request.getParameter(param).getBytes("iso-8859-1"),"gbk");
③获取Form表单的信息
对于文本元素,单选按钮,下拉列表框都可以使用getParameter方法来获取选定的内容,但对于复选框以及多选下拉框就要使用getParameterValues(name)方法来获取,返回一个字符串数组
④获取请求客户端信息:getHeader(name), getMethod(), getContextPath(), ...
⑤在作用域中管理属性:setAttribute()、getAttribute()、removeAttribute(),作用域为一次请求。
⑥cookie管理
cookie是小段的文本信息,通过使用cookie可以表示用户身份,记录用户名及密码,跟踪重复用户。cookie在服务器端生成并发送给浏览器。
Cookie myCook = new Cookie("key","value");
myCook.setMaxAge(60*60*24);
response.addCookie(myCook);

客户端:
Cookie[] cook= request.getCookies();
if(cook!= null){
for(Cookie c:cook){
if(c.getName().equals("key")){
info= c.getValue();
}
}
}
2)response对象:
方法有:addHeader()、setHeader()、addCookie()、sendError()、sendRedirect()、getOutputStream()。
3)session对象
①在session中也可以创建属性,与request中相同,但作用域范围是一次对话中有效
②销毁session:session.invalidate();
③会话超时的管理:session.setMaxInactiveInterval(time)
4)application对象:ServletContext对象,可将信息保存在服务器中,知道服务器关闭
5)out:向浏览器输出信息
6)pageContext对象:取得任何范围的参数
7)config:读取web.xml配置信息
8)page对象:代表jsp本身,在jsp页面内是合法的。相当与this指针。

servlet
servlet是运行在web应用服务器上的Java程序,可以对web浏览器发送的请求进行处理。servlet对象的运行需要servlet容器的支持
①servlet的生命周期,由容器进行管理:
在web容器启动或客户机第一次请求服务时,容器将加载servlet类,并将其放到servlet实例池;
当servlet实例化后,容器将调用init方法完成servlet的初始化操作;
容器通过servlet对象的service方法处理客户端请求;
在web容器关闭时,容器调用destroy()对资源进行释放。servlet对象将被垃圾回收器回收。
②servlet可以在web.xml中配置name,class,url-pattern。而在servlet3.0中提供了注解来配置servlet,极大的简化了servlet的配置。
@WebServlet("/TestServlet")

Filter:servlet过滤器是客户端与目标资源间的中间层组件,用于拦截客户端的请求与响应信息。当web容器接受到一个客户端请求时,将判断此请求是否与过滤器对象相关联,如果相关联,则将请求交给过滤器处理,过滤器可以更改请求中的数据信息,处理完成后,再将这一请求交给其他业务进行处理。在对客户端响应时,容器又将请求交给过滤器进行处理,处理过后将响应发送到客户端。
①Filter API:Filter接口有init、doFilter、destroy方法
FilterChain接口只有一个方法dofilter;
FilterConfig接口:获取过滤器初始化期间的参数信息。
Filter的配置与servlet基本一致。dispatcher有4种选择:request、forward、include、error。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: