JSP及Servlet相关基础技术 学习笔记

一.4种基本语法

1.JSP注释<%-- --%>

2.JSP声明<%! %>  JSP声明会转换成对应Servlet的成员变量或成员方法

3.输出JSP表达式 <%= %>

4.JSP脚本<% %> JSP脚本将转换成Servlet里的_jspService()方法里的可执行代码。这意味着在JSP小脚本中声明的变量是局部变量

二.3个编译指令

1.page 有属性:

import、errorPage(指定错误处理页面)、isErrorPage(是否为错误处理程序)、contentType(设定生成网页的文件格式和编码字符集)、pageEncoding(指定能够生成网页的编码字符集)

2.include 静态 将外部文件嵌入到当前JSP文件中,解析这个页面中的JSP语句,把目标页面的变异指令也包含进来

3.taglib <%@ taglib uri="标签库的URL" prefix="指定标签库的用于当前页面的前缀"%>
三.7个动作指令

1.forward 将用户请求“转发”到了另一个新页面,所以旧页面中的请求参数、请求属性都不会丢失。

<jsp:forward page="..">
	<jsp:param name=".." value=".."/>
</jsp:forward>
2.include 动态 仅将被导入页面的body内容插入到本页面中。在Servlet中使用include( request,response,relativePath,javax.servlet.jsp.JspWriter out, boolean flush)方法来引入被导入页面的内容

<jsp:include page="..">
	<jsp:param name=".." value=".."/>
</jsp:include>

3.useBean--用于在JSP页面中初始化一个Java实例

  setProperty、getProperty --设置、输出JavaBean实例的属性值

<jsp:useBean id="p1" class="person" scope="page|request|session|application" />
<jsp:setProperty name="p1” property="name" value="Keynes" />
<jsp:getProperty name="p1" property="age" />
四.9大内置对象

1.application--该实例代表本网页所属的Web应用本身。

(1)让多个JSP、Servlet共享数据

put-application.jsp:

<%application.putAttribute("counter", String.valueof(++i)%>

get-application.jsp:

<%application.getAttribute("counter")%>

(Servlet)GetApplication.java:

ServletContext sc = getServletConfig.getServletContext();
out.println(sc.getAttribute("counter");

P.S. 由于在Servlet中没有application内置对象,所以上面代码显式获取了该Web应用的ServletConfig实例。每个Web应用只有一个ServletConfig实例,在JSP代码中可以通过application内置对象访问该实例,而在Servlet中则必须通过代码获取。


(2) 获取Web应用的配置参数

         首先在web.xml中给出配置参数:

<context-param>
         <param-name>driver</param-name>
         <param-value>com.mysql.jdbc.Driver</param-value>
</context-param>

         在JSP页面中获取Web应用的配置参数

<%
String driver = application.getInitParameter(“driver”);
%>

         在Servlet中获取Web应用的配置参数

ServletConfig config = getServletConfig();
String driver = config.getInitParameter(“driver”);

2.session--代表客户端浏览器与站点建立连接时开始的一次会话。用于跟踪用户操作等会话信息。

Servlet获取session:

HttpSession session=request.getSession(); //返回与当前request相关联的session

3.request--封装了一次请求,客户端的请求参数都被封装在对象。

(1)获取请求头/请求参数

String getParameter(String paramName):获取请求参数名为paramName的值

String[] getParameterValues(String name):获取请求参数名为paramName的多个值构成的数组

Map getParameterMap():获取所有请求参数名-值所组成的Map对象

(2)操作request范围的属性

JSP:参考四.1.(1)application

Servlet:

String name = request.getParamter(“name”);

(3)执行forward 请求转发

request.getRequestDispatcher(“/a.jsp”).forward(request,response);

4.response—代表服务器对客户端的响应

(1)重定向

重定向到path资源,即重新向path资源发送请求,相当于在地址栏里输入新的网址

response.sendRedirect(“redirect-result.jsp”);

(2)增加Cookie

Cookie c = new Cookie(“name”, ”Keynes”);
c.setMaxAge(24*3600);
respoinse.addCookie(c);

P.S. 获取cookie—Cookie[]cookies = request.getCookies();

 page--代表页面本身

5.pageContext—使用它可以访问到1.page、2.request、3.session、4.application范围的变量

(1)getAttribute(String name, int scope); 其中scope对应于以上一个数

(2)获取其他内置对象

pageContext.getRequest()、pageContext.getResponse()、pageContext.getServletContext()、pageContext.getSession()。

五.Servlet

1.继承HttpServlet类,重写service(request,response)即可响应客户端的所有请求。作为控制器,所有用户请求都发送给Servlet,Servlet调度Model来处理用户请求。JSP呈现处理结果。

2.配置Servlet

  <servlet>
                   <servlet-name>testServlet</servlet-name>
                   <servlet-class>lee.TestServlet</servlet-class>
                   <init-param>
                            <param-name>driver</param-name>
                            <param-value>com.mysql.jdbc.Driver</param-value>
                   </init-param>
                   <init-param>
                            <param-name>url</param-name>
                            <param-value>jdbc:mysql://localhost:3306/javaee</param-value>
                   </init-param>
                   <init-param>
                            <param-name>user</param-name>
                            <param-value>root</param-value>
                   </init-param>
                   <init-param>
                            <param-name>pass</param-name>
                            <param-value>32147</param-value>
                   </init-param>
         </servlet>
 
         <servlet-mapping>
                   <servlet-name>testServlet</servlet-name>
                   <url-pattern>/testServlet</url-pattern>
         </servlet-mapping>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值