基础JSP学习

JSP基础语法

一、两种注释:

1、显示注释:

  1. <!-- 注释内容 -->

2、隐式注释:

  1. //注释内容
  2. /*注释内容*/
  3. <%-- 注释内容 --%> jsp特有的

二、Scriptlet脚本

  1. <%局部变量、语句%>
  2. <%!全局变量、方法、类%>
  3. <%=输出操作%>

三、jsp: Scriptlet

  1. <jsp: Scriptlet>了解</jsp: Scriptlet>

四、page指令

page指令语法:

  1. <%@ page 属性="内容"%>

常见属性:

  1. <%@ page contentType = "text/html;charset=utf-8" pageEncoding= "GBK"%>

contentType 和 pageEncoding区别:
contentType = "text/html;charset=utf-8"指定网页以什么方式显示页面;
pageEncoding = "GBK" 指定servlet引擎以什么方式翻译jsp->servlet,并指定网页以什么方式显示页面;

五、import指令

  1. <%@ import java.lang.* %>

六、include指令

  1. <% page include = "css/include.jsp" %>

内置对象

一、内置对象简介

JSP的内置对象在JSP中非常重要,这些内置对象是由WEB容器创建出来的,所以用户不用自己创建。

主要的几个内置对象有:

(1)request : javax.servlet.http.HttpServletRequest,表示客户请求。

(2)response:javax.servlet.http.HttpServletResponse,表示服务器回应。

(3)pageContext:javax.servlet.jsp.pageContext,表示JSP页面。

(4)session:javax.servlet.http.HttpSession,表示一次会话。

(5)application:javax.servlet.servletContext,表示所有用户共享信息。

(6)out:javax.servlet.jsp.jspWriter,写入页面内容。

(7)page:表示一个页面的实例。

(8)config:javax.servlet.servletConfig,表示配置文件信息。

二、4种属性范围

(1)page范围:一页中有效,跳转即无效。

(2)request范围:服务器跳转有效,客户端跳转无效。

(3)session范围:跳转有效,新开浏览器无效。

(4)application范围:所有用户有效,重启服务器无效。

这四个对象有3个方法:

  1. (1) void setAttribute(String key,Object o);
  2. (2) Object getAttribute(String key)://取得后要向下转型。
  3. (3) void removeAttribute(String key);

三、request对象

request对象是接收客户端发来的信息,而客户端发来了头信息、内容、传递方式、cookie。

常用方法:

(1)request.getParameter(String name):取得name元素的值。

(2)Enumeration enu = request.getParameterNames():取得全部的参数的名称,通过迭代器遍历。

(3)String[] strs = request.getParameterValues(String name):用于取得比如checkbox的多项选择。

(4)Enumeration enu = request.getHeaderNames():获得全部头信息的名字。

(5)String str = request.getHeader(String name):获得名字为name的头信息的内容。

(6)String str = request.getMethod():获得是post或get.

(7)request.setCharacterEncoding(String):统一request的编码。

(8)request.isUserInRole(String name)

(9)Cookie[] c = request.getCookies():获得全部的cookie。

tomcat增加新用户和新权限的方法:

(1)在tomcat/conf/tomcat-users.xml可以设置,参照admin配置即可,然后重启tomcat服务器,完成新用户和权限的载入。

(2)在web.xml进行设置,使得成为登录网页前会跳出窗口输入用户名、密码。

四、post和get的区别

最明显的区别是地址栏的区别,post传递时,地址栏没有任何变化,而get传递,地址栏会显示传递的信息,因此get传递的信息有限。

五、response对象

表示回应客户端的对象。

1.常用方法:

(1)addCookie(Cookie):添加cookie

(2)setHeader(String name,String value):设置头信息。

(3)sendRedirect():重定向,类似于客户端跳转。

常用应用:

(1)定时刷新:response.setHeader("refresh","seconds"):几秒刷新一次。

(2)定时跳转:response.setHeader("refresh","2;URL=hello.jsp");2秒后跳转到hello.jsp。

(3)直接跳转:response.sendRedirect("hello.jsp");

2.操纵Cookie:

将用户的信息保存为一个cookie,存储在客户端,每次request时,都会把cookie发送到服务器端。

response.addCookie(Cookie e);添加cookie。

Cookie位于javax.servlet.http.cookie中。

常用方法:

(1)Cookie c = new Cookie("name","value"):创建一个新cookie。

(2)c.setMaxAge(int seconds):设置cookie最长寿命,因为原本cookie保存在浏览器中,如果浏览器关闭,cookie丢失。

(3)c.getName():获得名字。

(4)c.getValue():获得值。

六、session对象

session常用方法:

(1)String getId():获得session id。

(2)session.setAttribute("",""):设置属性。

(3)session.getCreationTime():获得创建时间。

(4)session.getLastAccessedTime():获得最后访问时间。

(5)session.isNew():这个session是否是新的。

(6)session.invalidate():把session的记录全部清空。

登录-注销页面:

(1)使用session.setAttribute()注册。

(2)使用session.isNew()判断是否已经注册。

七、application对象

常用方法:

(1)getRealPath(path):获得真实路径。

(2)getContextPath():获得虚拟路径。

application==this.getServletContext()

八、config对象

先从配置文件谈起,在每个web应用中,都有一个WEB-INF文件夹,这个文件夹是很安全的,不能被其他人看到。

如果将一个hello.jsp文件放到WEB-INF中,如果能够让其能够被访问。

答案就是在WEB-INF/web.xml设置即可,内容如下:

  1. <servlet>
  2. <servlet-name>he</servlet-name>
  3. <jsp-file>/WEB-INF/hello.jsp</jsp-file>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>he</servlet-name>
  7. <url-pattern>hello</url-pattern>
  8. </sevlet-mapping>

重启服务器后,则在地址栏输入http://localhost:8080/test/hello即可。

config常用方法:

(1)getInitParameterNames();

(2)getInitParameter(String name);

什么是初始化参数呢?

初始化参数在web.xml中进行配置,形式如下:

  1. <init-param>
  2. <param-name>name</param-name>
  3. <param-value>value</param-value>
  4. </init-param>

九、pageContext对象

表示JSP上下文,可以通过这个实例,取得request esponsesession





原文地址:https://www.cnblogs.com/Jxiaobai/p/6622175.html