使用jsp、servlet开发
时间:2023-05-27 02:09:01 | 来源:网站运营
时间:2023-05-27 02:09:01 来源:网站运营
使用jsp、servlet开发:
动态网页开发基础
Jsp简介:静态内容(html文本),jsp指令元素:<% @ %>,jap脚本元素(小脚本,表达式<%= %>,声明<%! %>),jsp的注释<%-- --%>
Jsp执行过程:翻译,编译,执行;
Jsp数据交互(一)
Jsp内置对象:pageContext,config,page ;session,application,out,request,respone
Jsp内置对象:不需要声明可以直接使用的对象
Jsp内置对象out:
Jsp内置对象request:用于处理请求数据,
常用的方法:
String getParameter(String name)获取表单页面提交的数据;
String[] getParamenterValues获取一组相同名字表单提交的数据;
SetCharacterEncoding()设置表单提交数据的编码格式
GetRequestDispatcher().forward(request, respone)用于转发请求
转发的特点:路径不变,请求的数据不会 丢失
Jsp内置对象respone:将服务器响应给客户端。
常用的方法:
AddCokie(Cookie cookie)向客户端添加cookie
SetContent(String type)设置HTTP响应的content编码
SetCharacterEncoding()设置所响应所采用的编码
sendRedirect(String location)重定向:
重定向特点:路径不同,数据丢失
转发 重定向:
服务器端发挥作用,同一请求在服务器之间传递 客户端发挥作用,发送新请求实转向
客户端浏览器的地址栏不会显示转向的地址 浏览器的地址栏会显示转向的地址
Jsp内置对象session:记录会话的相关信息,在一点时间内,一个用户与web服务器的一连串相关的交互过程,包含浏览器与服务器的多次请求与响应(服务器端的机制,通过sessionid标识是否是同一次会话)
常用的方法:
getId()获取sessionid
setMaxInactiveInterval(int interval)最后一次访问时间
int getMaxInactiveInterval()获取session有效的非活动时间
setAttribute(String key,Object object)以key/value的形式存储在session
getAttribute(String key)以key的形式保存对象
removeAttribute()从session中删除指定key对应的对象
Include指令:文件引用<%@ include file=”应用文件路径”%>
Jsp数据交互(二)
Jsp内置对象application:统计应用访问人数,实现用户共享,类似于系统的全局变量
常用的方法:
setAttribute(String key ,Object value)以key/value的形式存储在应用中
Object getAttribute()通过key获取应用的对象
String getRealPath()返回相对路径的真实路径
对象的作用域:page,request,session,application作用域
Page作用域:是在服务器发送响应或请求转发到其他页面或资源后失效,通过pageContext对象的setAttribute()和getAttribute()方法访问;
Request作用域:与客户端请求绑定一起,通过request对象的setAttribute()和getAttribute()方法进行访问
Session的作用域:会话有效期内,通过session对象的setAttribute()和getAttribute()方法进行访问
Application的作用域;整个web应用, 通过application’对象的setAttribute()和getAttribute()方法进行访问
Cookie:跟踪用户会话的方式,由服务器生成并发送给客户端
作用:对特点对象的追踪;统计网页浏览数量;cookie有效期内记录用户登录信息;实现个性化服务;
使用步骤:
1、 创建cookie对象;Cookie cookie=new Cookie(String name,String value)name代表cookie的名称,value代表cookie的值,在javax.servlet.http包下
2、 写入cookie;response.addCookie(newCookie) cookie常用的方法: setMaxAge()设置cookie的有效期秒 getMaxAge()获取cookie的有效期秒 setValue()为cookie赋值 getName()获取cookie的名称 getValue()获取cookie的值
3、 读取cookie:request.getCookie()
Cookie和session作用域的对比:
Session作用域是在服务器端保存信息 cookie是在客户端保存信息
Session作用域保存的是Object类型 Cookie保存的值是String
Session作用域随会话结束而将其数据销毁 cookie可长期保存在客户端
Session通常保存的是重要的信息 保存不重要的信息
javaBean是Java可以跨平台的重用组件,在应用中主要用于封装数据和封装业务处理,JavaBean的定义需要遵循规则:公有类,属性私有,具有公有的get/set属性
使用分层实现业务处理
JNDI:为开发人员提供了查找和访问的各种命名和目录服务的通用,统一接口,通过conf/context.xml为全局配置:
使用jndi的步骤:
1. 配置资源;
2. 通过Context的lookup()方法操作资源
数据库连接池:负责分配,管理,释放数据库连接允许应用程序重复使用一个现有的数据库连接;
数据源的配置:context.xml
<contex>
<Environment name=””;value=””;type=”java.lang.*”>
<resource name=“jndi的名称” auth=”Container/Application”type=”javax.sql.DataSource” manActive=“处于活动状态最杭州接数目”maxIdle=“处以空闲状态最大的逻辑数目”maxWait=”处于空闲状态最大的时间”username=”连接数据库的(root)”password=“连接数据库密码(root)”driverClassName=”连接数据库的jdbc驱动(com.mysql.jdbc.Driver)”url=“连接数据库的路径(jdbc:mysql:localhost:3306/数据库名称)”>
</contex>
Web.xml的配置:
<web-app>
<resource-ref>
<descritiptio引用资源的说明n></description>
<res-ref-name>jdbc/news</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
软件设计分层模式:很多架构模式的基础;
三层架构:表示层(一般以jsp,html),业务逻辑层(一般定义一些接口供表示层访问),数据访问层对数据的读取和操作(一般放在dao包下)
关系
-客户请求-à -客户请求-à
表示层 业务逻辑层 数据访问层
ß-响应数据- ß-响应数据-
分层原则:
1. 上一层依赖下一层,依赖关系不跨层
2.
Jsp开发业务应用
Servlet基础
Jstl和el
Ajax和jquery
Ajax交互扩展