您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

JSP基本知识

来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:28 点击:

JSP脚本元素
Jsp声明语法:<%! %>
 jsp声明只在当前页面有效,并且jsp声明中不能使用jsp内置对象。在其内声明的变量或方法为实例方法或实例变量

Jsp中Java代码块语法:<% %>
 jsp中嵌入的java代码块称Scriptlet,默认为与jsp对应的Servlet类的service()方法中的代码块。Scriptlet位置由page指令中的method确定method值可以为service(),doGet(),doPost()等。在其内声明的变量为局部变量

Jsp中的表达式语法:<%= %>用于在页面上输出表达式或变量的值


JSP内置对象
 对象          类型
 request      javax.servlet.HttpServletRequest
 response     javax.servlet.HttpServletResponse
 pageContext    javax.servlet.jsp.PageContext
 application     javax.servlet.ServletContext
 out          javax.servlet.jsp.JspWriter
 config          javax.servlet.ServletConfig
 page          java.lang.Object(类似于java中的this关键字)
 session      javax.servlet.HttpSession
 exception     java.lang.Exception
   

JSP的异常处理:
 Jsp和Java一样在运行时也有可能抛出异常,在发生异常的页面中可以添加如下代码
 <%@ page errorPage="errorpage.jsp" %>
 当前页面发生异常跳转至errorpage.jsp进行异常处理

 在errorpage.jsp页面中添加如下语句声明此页面是处理异常的页面
 <%@ page isErrorPage="true" %>

 在处理异常的页面可以直接访问exception内置对象,获取异常信息
 <% exception.printStackTrace(new PrintWriter(out)); %>


JSP请求转发:
 request.getRequestDispatcher("success.jsp").forward(request,response);
 特点:地址栏不改变,我们称为请求转发,发起的是同一次请求,数据未丢失

 response.sendRedirect("success.jsp");
 特点:地址栏改变,我们称为重定向,发起的是两次请求,数据丢失


 
中文乱码解决方式:
post提交方式:通过request.setCharacterEncoding("utf-8");
get提交(url传参)方式:String str= new String(request.getParameter("uName").getBytes("iso-8859-1"),"utf-8");


关于JSP预编译:通过特殊的请求参数jsp_precomplie,它的值可以true或false;请求为ture那么Servlet容器仅仅对客户端请求的JSP文件进行预编译,即将JSP文件转化为Servlet类,但不运行Servlet;

1.http://localhost:8080/helloapp/hello.jsp?jsp_precomplie=true
2.找到Tomcat目录下work目录对应项目helloapp下的hello_jsp.class文件
将其复制到WEB-INF/classes对应的子目录中
3.在web.xml文件中配制hello_jsp类
 <servlet>
  <servlet-name>hi</servlet-name>
  <servlet-class>org.apache.jsp.hello_jsp</servlet-name>
 </servlet>

 <servlet-mapping>
  <servlet-name>hi</servlet-name>
  <url-pattern>/hello</url-pattern>
 </servlet-mapping> 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • 自定义JSP标签(tag)浅议
  • WIN98/2000下的jsp服务器
  • JSP内建对象(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1