【JavaWeb】Web程序设计期末复习总结

试题

一. 单选题(共24题,24分)

二. 多选题(共16题,32分)

三. 填空题(共20题,10分)

四. 判断题(共30题,15分)

五. 论述题(共2题,12分)

六. 程序设计题(共1题,7分)

 知识点

什么是B/S;前端后端关系

JSP的基本元素、工作流程、生命周期

servlet规范:包含三个技术点

Servlet的生命周期

Servlet 的常用方法init();service();doPost();doGet();等

在Servlet创建并调用javabean

Request、Reponse、Session的含义、生存周期、部署及主要方法的调用。

JSP动作的格式和属性、意义

表单的设计方法、表单元素、表单的提交

JSP九大内置对象常用格式和常用方法、作用范围(生命周期)及主要方法

简答重点掌握:

编程重点掌握:


试题

一. 单选题(共24题,24分)

1.test.jsp文件中有如下一行代码:<jsp:useBean id=”user” scope=”__”type=”com.UserBean”>要使user对象可以作用于整个应用程序,下划线中应添入()。

A.page

B.request

C.session

D.application

答案:D

2.pageContext、request、session、application四个内置对象的作用范围从小到大依次为______。

A.request、pageContext、session、application

B.request、session、pageContext、application

C.request、session、application、pageContext

D.pageContext、request、session、application

答案:D

3.如果想在tomcat服务器启动时将jar包加载到内存,且该jar包可以被tomcat服务器上所有的应用使用,应该将该jar包复制到tomcat的              目录。

A.bin

B.conf

C.webapps

D.lib

答案:

D

4.JSP页面程序片中可以使用              方法将strNumx=request.getParamter("ix")得到的数据类型转换为Double类型。

A.Double.parseString(strNumx)

B.Double.parseDouble(strNumx)

C.Double.parseInteger(strNumx)

D.Double.parseFloat(strNumx)

答案:B

5.在JDBC连接数据库编程应用开发中,利用             可以实现包装数据库中的结果集。

A.Connection

B.PreparedStatement

C.ResultSet

D.Statement

答案:C

6.JDBC提供了3种接口来实现SQL语句的发送执行,其中用于执行存储过程的的SQL语句的是                

A.Statement

B.PrepareStatement

C.CallbleStatement

D.Execute

答案:C

7.下面           不是JSP中和javabean相关的标记。

A.<jsp:userBean>

B.<jsp:include>

C.<jsp:setProperty>

D.<jsp:getProperty>

答案:B

8.request.getRequestDispatcher().forward(request,response)称之为         

A.流转

B.转发

C.重定向

D.导航

答案:B

9.关于MVC模式说法正确的是                  。

A.用来将代码分开的方法

B.将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度

C.JavaBean

D.只用java才有的模型

答案:B

10.Servlet生命周期中用于初始化的方法是()

A.init()

B.service()

C.destroy()

D.super()

答案:A

11.JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前,onValidate()验证函数返回值为true时,                  __。

A.验证不通过,提交数据给服务器

B.验证不通过,不提交数据给服务器

C.验证通过,提交数据给服务器

D.验证通过,不提交数据给服务器

答案:C

12.给定一个会话对象s,有两个属性,属性名分别是myAttr1和myAttr2,下面哪个选项会把这两个属性从会话中删除。

A.s.removeAllValues();

B.s.removeAllAttributes();

C.s.removeAttribute("myAttr1");

s.removeAttribute("myAttr2");

D.s.getAttribute("myAttr1",UNBIND);

s.getAttribute("myAttr2",UNBIND);

答案:C

13.给定request是一个HttpServletRequest对象,下面哪些代码会在不存在会话的情况下创建一个会话?

A.request.getSession()

B.request.getSession(true)

C.request.getSession(false)

D.request.createSession()

答案:B

14.以下                    陈述是错误的。

A.在WEB项目的共享数据范围内,application是范围最广泛的

B.当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据

C.当在JSP页面中通过<jsp:forward>指令将页面请求转发到的页面中,可以共享一个page范围内的数据

D.当用户重新打开一个浏览器窗口时,原session对象不再有效

答案:C

15.login.jsp页面为登录页面,表单代码如下:

<form action="index.jsp" method="post">

用户名:<input type="text" name="username"/><br/>

密码:<input type="password" name="userpwd"/><br/>

<input type="submit" value="登录">

</form>

在index.jsp页面直接显示用户名,以下哪种代码正确(   )

A.${requestScope.username}

B.<%=username%>

C.${param.username}

D.<%=param.username%>

答案:C

16. <%String count="100";pageContext.setAttribute("cnt",count);%>

${pageScope.cnt+100}显示为(     )

A.100100

B.运行异常

C.200

D.没有任何显示

答案:C

17.一个Web站点将管理员的E-mail地址存储在一个名为master_email的Servlet上下文参数中,如何使用EL得到这个值(    )

A.<a href="mailto:${initParam.master_email }">email me</a>

B.<a href="mailto:${ContextParam.master_email }">email me</a>

C.<a href="mailto:${initParam[master_email] }">email me</a>

D.<a href="mailto:${ContextParam[master_email] }">email me</a>

答案:A

18.核心标签库中,用来实现循环功能的标签是()

A.<c:if>

B.<c:for>

C.<c:while>

D.<c:forEach>

答案:D

19.以下哪个标签实现了switch功能

A.<c:if>

B.<c:switch>

C.<c:choose>

D.<c:case>

答案:C

20.在JSP中,只有一行代码:${1+2},运行将输出()

A.1+2

B.3

C.null

D.没有任何输出,因为表达式是错误的

答案:B

21.下列代码的输出结果是______。

<%

    int[] a = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };

    pageContext.setAttribute("a", a);

%>

<c:forEach items="${a}" var="i" begin="3" end="5" step="2">

${i }&nbsp;

</c:forEach>

A.1 2 3 4 5 6 7 8

B. 3 5

C. 4 6

D.4 5 6

答案:C

22.下列指令中,可以导入JSTL核心标签库的是(    )。

A.<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

B.<%!taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

C.<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="c"%>

D.<% taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

答案:A

23.<c:if>的哪个属性指定条件表达式(    )

A.cond

B.value

C.test

D.check

答案:C

24.导入格式化标签库的taglib指令为(    )。

A.<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

B.<%@ taglib uri="http://java.sun.com/jsp/jstl/sql"  prefix="sql"%>

C.<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

D.<%@ taglib name="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

答案:A

二. 多选题(共16题,32分)

1.在一个名为Haier的Web应用中,admin目录与images目录为同级目录,现在admin目录下的index.jsp需要images目录中的图片top.jpg,以下代码片段正确的是()

A.<img src="../images/top.jpg" width="100" height="20">

B.<img src="images/top.jpg" width="100" height="20">

C.<img src="./images/top.jpg" width="100" height="20">

D.<img src="/Haier/images/top.jpg" width="100" height="20">

答案:AD

2.下面选项中,属于JSP页面构成的元素是()

A.声明

B.表达式

C.HTTP

D.指令

E.脚本

答案:ABDE

3.pageContext对象定义了4个范围常量,下面哪些是合法的?

A.PAGE_SCOPE

B.REQUEST_SCOPE

C.SESSION_SCOPE

D.APPLICATION_SCOPE

答案:ABCD

4.下列request和response内置对象的使用正确的是______。

A.request.getRequestDispatcher("index.jsp").forward(request,response);

B.response.sendRedirect("index.jsp");

C.request.getParameterValues("name");

D.response.setContentType("text/html;charset=utf-8");

答案:ABCD

5.下面               是ResultSet接口的方法。(多选)

A. next()

B. close()

C. back()

D. forward()

答案:AB

6.使用JavaBean的好处有                       。

A. JavaBean拥有标准化接口的优点,在开发期有可视化编程工具的支持,在运行期有JSP和J2EE连接器的支持。

B. JavaBean更明确的把WEB页面的设计和软件的设计区分开来。

C. JavaBean可以在多个应用程序中重用。

D. JavaBean可以实现安全性、事务行为、并发性和持久性。

答案:ABC

7.以下             是JSP技术的特性。

A.分离业务逻辑和表示

B.编写一次,随处运行

C.客户端Java资源的高效利用

D.可重用的组件和标签库

答案:ABD

8.JDBC数据库操作时,需要处理的异常有哪些?

A.SQLException

B.ClassNotFound

C.IOException

D.FileNotFound

答案:AB

9.编写Servlet代码时,至少需要导入Servlet API 的           包。(多选)

A.javax.servlet

B.javax.swing

C.javax.servlet.http

D.java.util

答案:AC

10.以下关于MVC设计模式中各个组件的作用说法正确的                          。

A.MVC设计模式是软件设计中的典型结构之一。MVC是Model/View/Control的缩写。在这种设计结构下,应用程序分为三个组成部分:Model模型、View视图和Controller控制器,每个部分负责不同的功能。

B.Controller提供应用业务逻辑,是指对业务数据、业务信息的处理模块,包括对业务数据的存取、加工、综合等;

C.View是指用户界面,也就是用户与应用程序交互的接口。用户可以通过view输入信息,另一方面应用程序通过view将数据结果以某种形式显示给用户。

D.Model则负责View和Controller之间的流程控制。

答案:AC

11.目前广泛应用的动态网站技术有()

A.PHP

B.ASP

C.JSP

D.Delphi

答案:ABC

12.关于HttpSession对象,下面哪些说法是正确的?

A.会话的超时时间设置为-1,则会话永远不会到期

B.一旦用户关闭所有浏览器窗口,会话就会立即失效

C.在web.xml文件中定义的超时时间之后,会话会失效

D.可以调用HttpSession的invalidate()方法使会话失效。

答案:ABCD

13.下列EL的使用语法正确的是______

A.${1 + 2 == 3 ? 4 : 5}

B.${param.id + paramValues.multi[1]}

C. ${someMap[var].someArray[0]}

D. ${someArray["0"]}

答案:AD

14.下列关于JSTL条件标签的说法正确的是______

A.单纯使用if标签可以表达if...else...的语法结构

B.when标签必须在choose标签内使用

C.otherwise标签必须在choose标签内使用

D. 以上都不正确

答案:BC

15.下列哪些JSTL的<c:forEach>标签是合法的(        )

A.<c:forEach var="i" begin="10"  end="30"  step="3">

B.<c:forEach varName="i" begin="1"  end="10" >

C.<c:forEach var="i" items="${list}">

D.<c:forEach varName="i" start="1"  end="10" >

答案:AC

16.在web.xml文件的<filter>元素中可以使用哪些元素?

A.<filter-name>

B.<filter-class>

C.<init-param>

D.<dispatcher>

答案:ABC

三. 填空题(共20题,10分)

1.通过include指令,怎样将页面left.jsp包含进来?                                                       

答案:<%@ include   file="left.jsp"%>

2.将List集合的元素全部删除的方法是                             。

答案:removeAll

3.JSP的9个内置对象中,有4个作用域对象,分别是               、              、                            。

答案:pageContext、request、session、application

4.获取请求参数的方法有两个,分别是:                           和                            。              

答案:getParameter()、getParameterValues()

5.与下面HTML代码等价的语句是 :                          

<meta http- equiv="refresh"   content="5;url=myframe.jsp"/>                                                    

答案:response.setHeader("refresh","5;url=myframe.jsp");

6.通过pageContext对象的getOut()、getRequest()、getResponse()方法分别获取如下三个内置对象:                         、                           、                            

答案:out、request、response

7.更新数据库里的表内容是Statement接口或PreparedStatement接口使用       方法

答案:executeUpdate()

8.通过                        方法提交事务,通过                       方法让事务回滚。

答案:commit()、rollback()

9.JDBC              接口用于连接数据库。

答案:connection

10.通常应用<          >动作标签,可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。

答案:jsp:useBean

11.使用useBean动作标记的时候scope属性有4种选项,作用范围由小到大是                                         ,其中session是指当关闭浏览器的时候这个javabean失效,application是指当关闭服务器的时候这个javabean失效。

答案:page、request、session、application

12.     对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session对象则是每个客户专用的。

答案:application

13.Servlet中使用Session对象的步骤为:调用              方法得到Session对象,查看Session对象,在会话中保存数据。

答案:getSession()

14.使得HttpSession失效的三种方式是:             、调用session的invalidate方法和             

答案:关闭浏览器、等待session超时

15.EL表达式是一个以(   )开始,以(   )结束的表达式。

答案:${ 、 }

16.param对象用于获取请求参数的值,而如果一个参数名对应多个值时,则需要使用( )对象获取请求参数的值。

答案:paramValues

17.在pageContext对象中有(  )、(  )、(  )、(  )、(  )属性可以获取JSP的内置对象。

答案:request、response、session、out、servletContext

18.JSTL包含5类标签库,分别是(    )、(    )、(    )、(    )、(    )。

答案:核心标签库、SQL标签库、函数标签库XML标签库

19.如果想在JSP页面声明一个名字为name的变量,应该使用(    )标签。

答案:<c:set>

20.<c:choose>标签的子标签<c:otherwise>标签的作用等价于switch语句中的(      )语句。

答案:default

四. 判断题(共30题,15分)

红色为错误

  1. out对象的flush()方法是输出缓冲区的内容。
  2. 打包应用项目需要的命令是 Export。
  3. 如果result是一个合法的参数名,则表达式${paramValues.resultr}可以获取result参数的值。
  4. 通过pageContext对象可以获取JSP的其他8个内置对象
  5. Tomcat安装后,需要配置环境变量CATALINA_HOME。
  6. JSON字符串与JSON对象表示的是一种数据,都可以在网络上传输,只是语言表述方式不同。
  7. ServletContextAttributeListener接口的attributeAdded()方法,是在ServletContext对象中添加属性时被调用。
  8. <fmt:formatDate>标签的作用是将一个字符串类型的数据格式化为日期型的数据。
  9. response 对象的setHeader()方法可以实现页面的定时刷新和自动跳转。
  10. 控制器主要负责两方面的动作:把用户的请求分发到相应的模型、将模型的改变及时反映到视图上。
  11. 当在请求对象中替换属性值时,调用的方法是ServletRequestAttributeListener接口的attributeReplaced()方法。
  12. 如果使用JDBC驱动器连接数据库,jar文件的存放位置为web应用的WEB-INF的lib文件夹。
  13. 通过java.lang.Class类的forName(String className)方法加载JDBC驱动程序。
  14. ServletConfig仅提供了检索参数的方法,不能为ServletConfig对象添加或设置参数。
  15. 请求转发通常由RequestDispatcher接口的forward()方法实现,转发前后共享同一个请求对象。
  16. URL是Uniform Resource Locator的缩写,中文称之为统一资源定位器。
  17. 使用Class.forName("")加载JDBC驱动程序时,引发的异常是ClassNotFoundException。
  18. 重定向前后的两个页面,也可以共享一个请求对象。
  19. session对象可以用来保存用户会话期间需要保存的数据信息。
  20. Statement对象的executeUpdate()方法,返回的是更新了的记录数。而它的executeQuery()方法返回的是Set类型的对象
  21. setMaxInactiveInterval()方法设置session对象的有效期,单位是秒。超出这个范围session将失效。
  22. <fmt:requestEncoding>标签的功能与request对象的setCharacterEncoding()方法的功能类似。
  23. 在JDBC中,事务操作在默认情况下,会自动提交。
  24. 四个作用域对象的有效范围从小到大的顺序是request、session、application、pageContext。
  25. 在Servlet中使用getServletConfig()方法可以获得ServletConfig对象。
  26. 配置数据源时,需要使用<Resource>标签来实现。
  27. 按功能JavaBean可以分为可视化JavaBean和非可视化JavaBean,也就是通常所说的实体Bean和业务逻辑Bean。
  28. 用户在浏览器中输入http://127.0.0.1:8080/ch2/ch2_1.html即可访问本机上的该页面。
  29. include指令,其file属性可以通过相对路径,也可以通过绝对路径来指定一个被包含的文件。即被插入的文件和当前JSP页面可以在同一个应用项目中,也可以在不同的应用项目中。
  30. sendRedirect()方法,可以实现重定向到另一个页面。

五. 论述题(共2题,12分)

1.请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用。

答案:

1)init(ServletConfig config)方法,该方法在服务器对Servlet第一次访问时调用,负责Servlet初始化工作。在一个Servlet的生命周期中只执行一次。该方法接收一个ServletConfig类型的参数,Servlet容器可以通过这个参数向Servlet传递初始化配置信息。

2)service(ServletRequest request,ServletResponse response)方法,该方法负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。

3)destroy()方法,该方法方法负责释放Servlet对象占用的资源。当Servlet对象被销毁时,容器会调用此方法。

4)getServletConfig()方法,该方法返回容器调用init(ServletConfig config)方法时传递给Servlet的ServletConfig对象。

5)getServletInfo()方法,该方法返回一个字符串,其中包含了关于Servlet的信息,例如,作者、版本和版权等信息。

2.简述请求转发与重定向的异同?(至少写3点)

答案:

1)请求转发和重定向都可以实现访问一个资源时转向当前应用资源

2)请求转发是一次请求一次响应,而重定向为两次请求两次响应

3)一般情况下应该使用请求转发,减少浏览器对服务器的访问,减轻服务器压力

4)如果需要改变浏览器的地址栏,或更改浏览器的刷新按钮的功能时需要使用重定向

六. 程序设计题(共1题,7分)

按以下要求设计程序,完成对数据表users的查询操作,已知表记录如下。 mysql> select * from users; +----+--------+----------+-----------------+------------+ 

| id | name | password | email | birthday | +----+--------+----------+-----------------+------------+ 

| 1 | zhangs | 123456 | zs@sina.com | 1980-12-04 | 

| 2 | lisi | 123456 | lisi@sina.com | 1981-12-04 | 

| 3 | wangwu | 123456 | wangwu@sina.com | 1979-12-04 | +----+--------+----------+-----------------+------------+ 

(1)使用DBCP数据库连接池的BasicDataSource类直接创建数据源对象,类名为DBCPUtils。 

(2)创建QueryState类,完成查询操作id=1,并返回对象。

答案:创建数据表users和User实体类的操作不在此赘述。

 DBCPUtils.java

import org.apache.commons.dbcp2.BasicDataSource;
import javax.sql.DataSource;public class DBCPUtils { public static DataSource ds = null; static { // 获取DBCP数据库连接池实现类对象 BasicDataSource bds = new BasicDataSource(); // 设置连接数据库需要的配置信息bds.setDriverClassName("com.mysql.cj.jdbc.Driver");               bds.setUrl("jdbc:mysql://localhost:3306/jdbc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false");bds.setUsername("root"); bds.setPassword("123456"); // 设置连接池的初始化连接参数             bds.setInitialSize(5); ds = bds; } 
}

QueryState.java

import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;public class QueryState { public static void main(String[] args) throws SQLException { // 创建QueryRunner对象QueryRunner runner = new QueryRunner(DBCPUtils.ds);// 写SQL语句String sql = "select * from users where id=1";// 调用方法User user = (User) runner.query(sql, new BeanHandler(User.class));System.out.println(user.getId() + "," + user.getName() + "," + user.getPassword() + "," + user.getEmail() + "," + user.getBirthday()); } 
}

 知识点

什么是B/S;前端后端关系

        B/S架构(Brower/Server)就是浏览/服务器端的交互。利用B/S架构我们只需要安装一个浏览器就能通过web服务器与数据库进行交互,并将交互的结果以网页的形式展现在web浏览器中,浏览器不用直接与数据库建立连接,而是只有Web服务器与数据库需要建立连接,有效解决了数据库并发数量有限的问题。

        前端负责展示页面,获取用户请求发送给后端,后端负责接收请求,做出响应,并把响应数据发送给前端展示,前后端的关系可以理解为:前端向后端请求数据,后端提供数据给前端展示。

JSP的基本元素、工作流程、生命周期

  1. 声明<%!  %>
  2. JAVA程序片<%  %>
  3. JSP表达式 <%= %>
  4. 各种注释,一共有多少种,怎么用
  •         单行注释://jsp
    •         多行注释:/* jsp */

Servlet/Filter/Listener的概念、编写、调用的典型代码、常用方法

        Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态地向客户端输出内容。

servlet规范:包含三个技术点

  1)servlet技术

  3)listener技术---监听器

  2)filter技术---过滤器

Servlet的生命周期

  1. 初始化阶段:当Servlet第一次访问时,Servlet容器实例化servlet对象,Servlet容器调用init()方法初始化这个对象,加载配置文件、创建连接等初始化工作;
  2. 运行阶段:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理;
  3. 销毁阶段:当服务器关闭时,Servlet容器调用destroy()方法完成资源释放。
  4. 如何设置web.xml部署文件,里面的标签有什么含义,应该怎么写
<!--配置Servlet的初始化信息-->
<context-param><param-name>参数名</param-name><param-value>参数值</param-value>
</context-param>
<!--配置Servlet映射路径-->
<servlet-mapping><servlet-name>xxx</servlet-name><url-patten>/xxx<url-pattern>
</servlet-mapping>

Servlet 的常用方法init();service();doPost();doGet();等

        1)init()方法,该方法在服务器对Servlet第一次访问时调用,负责Servlet初始化工作。在一个Servlet的生命周期中只执行一次。该方法接收一个ServletConfig类型的参数,Servlet容器可以通过这个参数向Servlet传递初始化配置信息。

        2)service()方法,该方法负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。

        3)destroy()方法,该方法方法负责释放Servlet对象占用的资源。当Servlet对象被销毁时,容器会调用此方法。

        4)getServletConfig()方法,该方法返回容器调用init(ServletConfig config)方法时传递给Servlet的ServletConfig对象。

        5)getServletInfo()方法,该方法返回一个字符串,其中包含了关于Servlet的信息,例如,作者、版本和版权等信息。

过滤器的doFilter();方法,过滤器链

在Servlet创建并调用javabean

Userbean ur=new Userbean(); //创建javabean
ur.check(); ur.setName(“name”); //调用

重定向的应用:response.sendRedirect("相对路径");

Request、Reponse、Session的含义、生存周期、部署及主要方法的调用。

Request:获取请求数据

Request.setCharacterEncoding=“UTF-8”;
String request.getParameter(String name);
String[] request.getParameterValue(String name);
RequestDispatcher request.getRequestDispatcher(String path);
request.getRequestDispatcher.forward(request,response);
Public void setAttribute(string name,object );
Public object getAttribute(string name);
Public void removeAttribute(string name);

Response:设置响应数据

response.setHeader("refresh","2");
response.setHeader("refresh","3;URL=hello.jsp") ;
response.sendRedirect(String location) ;
response.addCookie(Coolie cookie) ;

Cookie:将信息存储在浏览器端

        通俗讲,是访问某些网站后在本地存储的一些网站相关信息,下次访问时减少一些步骤。更准确的说法是:Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一服务器,是在客户端保持状态的方案。

Session:将数据保存在服务器端

        存在服务器的一种用来存放用户数据的类HashTable结构。

        浏览器第一次发送请求时,服务器自动生成了一HashTable和一Session ID来唯一标识这个HashTable,并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的HashTable。

        一般这个值会有个时间限制,超时后毁掉这个值,默认30分钟。

        当用户在应用程序的 Web页间跳转时,存储在 Session 对象中的变量不会丢失而是在整个用户会话中一直存在下去。

public void setAttribute(String name, Object value) 
public Object getAttribute(String name)
public void removeAttribute(String name)
public void invalidate()

JSP指令 <%@ page contentType=”” import=””>,

        各属性有什么意义?contentType:指定文档类型,import:导包

JSP动作的格式和属性、意义

  1. <jsp:include page=””/> 动态包含资源,page资源相对路径
  2. <jsp:forward page=””/> 请求转发,page目标相对路径
  3. <jsp:useBean id=””>创建一个useBean实例
  4. <jsp:getProperty >获取useBean的属性值
  5. <jsp:setProperty >设置useBean的属性值
  6. <jsp:param name=”” value=””/>通过name—>value传递参数

表单的设计方法、表单元素、表单的提交

  1. 几种常用的表单元素怎么写
    1. 文 本 框:<input type=”text” name=””>
    2. 密 码 框:<input type=”text” name=””>
    3. 单选按钮:<input type=”radio” name=”” value=””>
    4. 多选按钮:<input type=”checkbox” name=”” value=””>
    5. 提交按钮:<input type=”submit” value=””>
    6. 重置按钮:<input type=”reset” value=””>
  2. Form的action属性,post/get方法都有什么用
    1. Action=”URL”表单提交地址
    2. get请求 :请求参数在请求行中,没有请求体,请求参数有大小限制
    3. post请求:请求参数在请求体中,没有大小限制,比get请求安全
  3. JSP九大内置对象常用格式和常用方法、作用范围(生命周期)及主要方法

    1. Request:处理客户端请求
    2. Response:响应客户端请求
    3. Session:浏览器与服务器的会话
    4. Application:保存应用程序中的共有数据
    5. Out:用于在web浏览器中输出信息
    6. pageContext:用于获取页面的上下文,可获取其他八个内置对象
    7. page:代表jsp页面本身,只有在jsp页面内才能使用
    8. config:用户获取服务器的配置信息
    9. exception:用于处理jsp页面发生的异常
  4. Javabean概念、编写、动作标记、作用范围
    1. 用<%@ page import=” *”>导入
    2. <jsp:useBean>的格式、各属性和用法
    3. < jsp:setProperty name=”abc” property=”*” value=”*”/ >
    4. < jsp:getProperty name=”abc” property=”name”/ >
  5. MVC模式的概念、实现可使用JSP+Javabean+Servlet

三个模块各自完成什么功能?

        V:与用户互动;C:流程控制;M:数据存储与业务逻辑

阅读MVC的例题,各模块之间怎么通信、联系

简述MVC的设计思路。

  • 创建一个项目架构
  • 准备jdbc驱动和配置文件
  • 在pojo包下建一个和表相关的实体类 User,因为要测试是否能登录成功,必须先有一个人这个类作为中间媒介
  • 前端页面XXX.jsp
  • 控制层
  • 业务层
  • DAO层:连接数据的并进行相关操作的
  • 退出:消除session并回到登录页面

JDBC是Java用来连接数据库的一组API命令

  1. JDBC用多少个类和对象?
    1. DriverManager:管理jdbc驱动
    2. Connection:连接(通过DriverManager产生)
    3. Statement(PreparedStatement):增删改查(通过Connection产生)
    4. CallableStatement:调用数据库中的存储过程/存储函数(Connection产生)
    5. ResultSet:返回的结果集(Statement,PreparedStatement产生)
  2. 怎么连接数据库,固定语句
# 加载并注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");# 通过DriverManager获取数据库连接
String url = "jdbc:mysql://localhost:3306/hzj? useSSL=false";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,username,password);# 通过Connection对象获取Statement对象
Statement stmt = conn.createStatement();# 使用Statement执行SQL语句
String sql = "...";
stmt.execute(sql);# 操作ResultSet结果集
while(rs.next()){ rs.getXxx(参数); }# 关闭连接,释放资源
rs.close();
stmt.close();
conn.close();

怎么查询executeQuery()、怎么修改数据库executeUpdate()

数据库优化技术:PreparedStatement:预编译sql语句并执行,预防sql注入问题,减少编译次数提高数据库性能。

Eclipse、Tomcat包含哪些目录、MySQL常用操作

  1. bin:存放的是可执行文件
  2. conf:存放的是Tomcat服务器的各种全局配置文件。
  3. lib:存放tomcat服务器所需的各种jar文件。
  4. logs:存放Tomcat的日志文件目录,记录了Tomcat启动和关闭以及异常信息。
  5. temp:存放Tomcat的临时文件,这个目录下的东西可以停止后删除。
  6. webapps:存放web项目的目录,其中每个文件夹都是一个项目。
  7. work:运行时生成的文件,最终运行的文件都在这里。
  8. EL/JSTL用法
    1. EL/JSTL的jar包和导入: jstl.jar、standard.jar
    2. EL中的隐式对象:
      1. pageContext:对应jsp页面中的pageContext对象
      2. pageScope:代表page域中保存属性的Map对象
      3. requestScope:代表request域中保存属性的Map对象
      4. sessionScope:代表session域中保存属性的Map对象
      5. applicationScope:代表application域中保存属性的Map对象
      6. param:保存了所有请求参数的Map对象
      7. paramValues:保存了所有请求参数的Map对象,对某个请求参数,返回一个String类型数组

简答重点掌握:

 

编程重点掌握:

JSP设计表单,Javabean编写数据模型,Servlet编写控制器,JDBC连接和操作数据库——参考相关章的例题和实验源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/621366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于TOGAF和WAF的企业级架构

TOGAF是技术无关的企业级架构框架&#xff0c;WAF则侧重于云的最佳实践和指导方针&#xff0c;本文介绍了两者的异同。原文: Enterprise Architecture with TOGAF and Well-Architected Frameworks (AWS, Azure and Google) 简介 本文旨在解释TOGAF和云架构框架/良好架构框架(W…

IaC基础设施即代码:使用Terraform 连接 alicloud阿里云

目录 一、实验 1.环境 2.alicloud阿里云创建用户 3.Linux使用Terraform 连接 alicloud 4.Windows使用Terraform 连接 alicloud 二、问题 1.Windows如何申明RAM 相关变量 2.Linux如何申明RAM 相关变量 3. Linux terraform 初始化失败 4.Linux terraform 计划与预览失败…

【LeetCode: 57. 插入区间+分类讨论+模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

blender 导入到 Marvelous Designer

1&#xff09; 将模型的所有部分合并为一个单独的mesh 2&#xff09; 先调整计量单位&#xff1a; 3&#xff09;等比缩放&#xff0c;身高调整到180cm左右 4&#xff09;应用当前scale 首先&#xff0c;选中你要修改的物体&#xff0c;然后按下Ctrl-A键&#xff0c;打开应用…

CSAPP - bomblab 作弊方式2: gdb jump 命令, 以及修改 jne 为 nop 指令

CSAPP - bomblab 作弊方式2&#xff1a; gdb jump 命令&#xff0c; 以及修改 jne 为 nop 指令 厌倦了在 gdb 中一步步顺序执行 bomb 可执行程序。为什么不能自行控制程序的执行呢&#xff1f;跳到特定的函数去执行&#xff0c;又或者把原本要执行的指令改掉&#xff0c;gdb 里…

linux环境下安装postgresql

PostgreSQL: Linux downloads (Red Hat family)postgresql官网 PostgreSQL: Linux downloads (Red Hat family) 环境&#xff1a; centos7 postgresql14 选择版本 执行启动命令 配置远程连接文件 vi /var/lib/pqsql/14/data/postgresql.conf 这里将listen_addresses值由lo…

【位运算】【二分查找】【C++算法】100160价值和小于等于 K 的最大数字

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 二分查找算法合集 位运算 LeetCode100160. 价值和小于等于 K 的最大数字 给你一个整数 k 和一个整数 x 。 令 s 为整数 num 的下标从1 开始的二进制表示。我们说一个整数 num 的 价值 是满足 i % x 0 且…

阿里云ingress配置时间超时的参数

一、背景 在使用阿里云k8s集群的时候&#xff0c;内网API网关&#xff0c;刚开始是用的是Nginx&#xff0c;后面又搭建了ingress。 区别于nginx配置&#xff0c;ingress又该怎么设置参数呢&#xff1f;比如http超时时间等等。 本文会先梳理nginx是如何配置&#xff0c;再对比…

优雅的删除链表元

王有志&#xff0c;一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群&#xff1a;共同富裕的Java人 在数据结构&#xff1a;链表中&#xff0c;我们实现了链表的删除方法&#xff0c;但代码看起来并不“优雅”&#xff0c;那么今天我们就来尝试使用多种方法&#xff0c…

windows安装conda环境,开发openai应用准备,运行第一个ai程序

文章目录 前言一、windows创建openai开发环境二、国内代理方式访问openai的方法&#xff08;简单方法&#xff09;三、测试运行第一个openai程序总结 前言 作者开发第一个openai应用的环境准备、第一个openai程序调用成功&#xff0c;做个记录&#xff0c;希望帮助新来的你。 …

31 树的存储结构一

无法直接用数组表示树的逻辑结构&#xff0c;但是可以设计结构体数组对节点间的关系进行描述&#xff1a;【如表】 这样做的问题&#xff1a; 可以利用 组织链表 parent指针&#xff1a; 注意&#xff1a;树结点在 组织链表 中的位置不代表树的任何逻辑关系 树的架构图&#xf…

从0开始学Git指令(3)

从0开始学Git指令 因为网上的git文章优劣难评&#xff0c;大部分没有实操展示&#xff0c;所以打算自己从头整理一份完整的git实战教程&#xff0c;希望对大家能够起到帮助&#xff01; 远程仓库 Git是分布式版本控制系统&#xff0c;同一个Git仓库&#xff0c;可以分布到不…

java客户端连接redis并设置序列化处理

1、导入依赖 <!--继承父依赖--> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup paren…

服务器出现500、502、503错误的原因以及解决方法

服务器我们经常会遇到访问不了的情况有的时候是因为我们服务器被入侵了所以访问不了&#xff0c;有的时候是因为出现了服务器配置问题&#xff0c;或者软硬件出现问题导致的无法访问的问题&#xff0c;这时候会出现500、502、503等错误代码。基于以上问题我们第一步可以先重启服…

【Py/Java/C++三种语言详解】LeetCode每日一题240114【链表】LeetCode83、删除排序链表中的重复节点

文章目录 题目链接题目描述解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode83、删除排序链表中的重复节点 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返…

Android json功能解析

1. 简介 JAVAScript Object Notation是一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案&#xff08;有点类似于正则表达式 &#xff0c;获得了当今大部分语言的支持&#xff09;。  JSON采用兼容性很高的文本格式&#xf…

第 380 场周赛 解题报告 | 珂学家 | 数位DP 二分 + 字符串Hash

前言 整体评价 感觉T3更难些&#xff0c;T4太直接了&#xff0c;一般的KMP/StringHash基本就够用了。 上周T4出数位DP&#xff0c;估计是为T3打了一个铺垫。 A. 最大频率元素计数 思路: 模拟即可 class Solution {public int maxFrequencyElements(int[] nums) {Map<Int…

qt5.14.2配置opencv4.5.5

使用环境&#xff1a;windows&#xff0c;opencv4.5.5&#xff0c;qt5.14.2&#xff0c;msvc编译器 这里的opencv文件是已经编译好了&#xff0c;在qt工程中配置就可使用&#xff0c;编译器得是msvc才行&#xff0c;MinGW不管用。 资源地址&#xff1a;https://download.csdn.…

【深度学习每日小知识】Computer Vision 计算机视觉

计算机视觉是人工智能的一个领域&#xff0c;涉及算法和系统的开发&#xff0c;使计算机能够解释、理解和分析来自周围世界的视觉数据。这包括从静态图像到视频流甚至 3D 环境的一切。 使用对象检测和特征提取等方法&#xff0c;计算机视觉本质上需要从视觉输入中提取有用信息…

2023 IoTDB Summit:天谋科技高级开发工程师苏宇荣《汇其流:如何用 IoTDB 流处理框架玩转端边云融合》...

12 月 3 日&#xff0c;2023 IoTDB 用户大会在北京成功举行&#xff0c;收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题&#xff0c;多位学术泰斗、企业代表、开发者&#xff0c;深度分享了工业物联网时序数据库 IoTDB 的技术创新…