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

发布时间:2024年01月14日

试题

一. 单选题(共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连接和操作数据库——参考相关章的例题和实验源码

文章来源:https://blog.csdn.net/JZJ_LYH/article/details/135582865
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。