jsp数据交互

什么是jsp内置对象?

jsp内置对象是web容器创建的一组对象

内置对象不用new

jsp内置对象request

request 常用方法:

String getParameter(String name)    返回string类型     根据页面表单组件名称获取页面提交数据

String[ ] getParamenterValues(String name)    获取一组以相同名字命名的表单组件提交的数据 

void setCharacterEncoding(String charset) 解决乱码    指定每个 请求的代码在调用getParameter(String name)  方法之前设定

RequestDispatchar getRequesDispatcher(String  path)  返回一个Javax.servlet.RequestDispatcher 对象,该对象的。forward()方法用于转发请求               forward(request,response);

String  address=request。getRemoteAddr();   获取远程地址

作用域     双列集合

request.getAttribute( “   ”,“    ”);

request.setAttribute( “   ”,“    ”);

request测试

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>request测试</title>

  </head>
  
  <body>
   <form action="index.jsp" method="post">
     用户名:<input type="text" name="txtname"/>
    密码: <input type="password" name="txtpwd"/>
  <input type="submit" value="提交"/>
     </form>

  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>处理页面</title>
	
  </head>
  
  <body>
   <%
   request.setCharacterEncoding("utf-8");
   String name=request.getParameter("txtname");
   String pwd=request.getParameter("txtpwd");
   if(name.equals("sa")&&pwd.equals("sa"))
   {
   
   //作用域
   request.setAttribute("name",name );
   //跳转
   request.getRequestDispatcher("success.jsp").forward(request,response);
   
   }
    %>
 
  </body>
</html>

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'success.jsp' starting page</title>
 
  </head>
  
  <body>
  
  欢迎<%=request.getAttribute("name")%>

  </body>
</html>

 

 

 

 

 

 

 

jsp中九大内置对象

1.请求对象  request    2 输出对象  out    3 响应对象  response    4应用程序对象  application

5 会话对象 session   6页面上下文对象   pagecontest    7页面对象 page   8 配置对象 config

9 异常对象   exception

 

转发与重定向

转发

RequestDispatchar getRequesDispatcher(String  path) .   forward(request,response);

重定向

response.RequestDispatcher()

转发                    与            重定向的区别

一次请求                             2次请求

URL地址不改变                 URL地址改变

不允许站外链接                 允许站外链接     

内置对象session

将数据库服务器内存中的泛型集合拿到客户端的页面上

什么是会话

有始有终的一系列动作/消息

会话是浏览器 和服务器之间

session 对象 的常用方法:

session.setAttribute (key,value):以key和value的形式将对象保存到session中

session.getAttribute(String key):通过key获得session中保存的对象

session.setMaxInactiveInterval();设置过期时间

 

include指令

 

Include指令用来包含一个文件。这个指令告诉容器在翻译阶段需要将当前JSP文件和其它外部文件合并。可以在JSP文件的任何地方使用这个指令。

这个指令的通用格式如下:

<%@ include file="relative url" >


Include指令中的文件名是一个相关的URL。如果只指定了文件名而没有路径,则JSP编译器假定这个文件与当前JSP文件在同一目录下。

 

示例

一个比较好的Include指令例子就是使用多页面来包含一个通用的头模块和尾模块的内容。

让我们来定义以下三个文件:header.jsp,footer.jsp和main.jsp:

header.jsp:

 

 

 

<%!
int pageCount = 0;
void addCount() {
   pageCount++;
}
%>
<% addCount(); %>
<html>
<head>
<title>The include Directive Example</title>
</head>
<body>
<center>
<h2>The include Directive Example</h2>
<p>This site has been visited <%= pageCount %> times.</p>
</center>
<br/><br/>

 

 


footer.jsp:

 

 

 

 

<br/><br/>
<center>
<p>Copyright © 2010</p>
</center>
</body>
</html>

 


main.jsp:

 

 

 

<%@ include file="header.jsp" %>
<center>
<p>Thanks for visiting my page.</p>
</center>
<%@ include file="footer.jsp" %>

 


现在试着访问main.jsp页面,将会得到如下结果:

 

 

The include Directive Example
This site has been visited 1 times.
Thanks for visiting my page.
Copyright © 2010


试着刷新main.jsp,您就会发现点击量会跟着增加。

虽然,您可以随意决定如何设计您自己的网页,但是我们建议将页面中的动态部分分离出来,当想要修改这部分的时候就会变得非常简单。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值