一、打开项目ServletBasics,掌握Servlet的基本使用
1. 使用HttpServlet作为基类的Servlet程序里,请求对象与响应对象需要自己创建吗?如何创建会话对象?
不需要,使用resp.getWriter()创建会话对象
2. 创建Servlet,可以使用抽象类HttpServlet或GenericServlet作为基类吗?在使用上有何异同点?
可以,使用GenericServle作为基类创建Servlet要重写抽象方法service(ServletRequest,ServletResponse)
使用HttpServlet要重写get、post方法。
3. 简要描述Servlet接口与其相关接口之间的关系。
Servlet接口的相关接口有ServletConfig、ServletContext、ServletRequest和ServletResponse。
这些相关接口提供配置、上下文环境、请求和响应给Servlet使用。
4. HTTP请求对象具有设置属性方法setAttribut("kn",value)方法,获取属性方法是什么?
获取属性的方法是request.getAttribute("kn")
5. 同一用户的会话信息能在不同的页面间共享吗?
同一用户的会话信息可以在不同的页面间共享。
二、打开项目JSPBasics,掌握JSP内置对象、EL表达式和JSTL标签的使用
1. 写出在.jsp页面里,可以直接使用的几个对象。
request、response、out、session、application、pageContext
2. 试比较请求转发与重定向的区别。
请求转发时,浏览器地址栏不会变化,而重定向操作会。
3. 在.jsp页面里,使用EL表达式与JSTL标签有什么好处?
使用EL表达式可以简化对JSP内置对象和JavaBean组件的访问,还可以使用$"{}访问对象。
使用JSTL标签简化java代码量,简化.jsp页面开发,提高页面可读性
5. 在.jsp页面或Servlet程序里,如何获取用户提交的信息?
可以使用方法getParameter("name")获取指定参数name的值、使用JSTL标签或EL表达式来获取用户提交的信息。
三、打开项目ServletMVC ,掌握以Servlet为基础的MVC项目架构
1. 总结JavaBean组件的规范、POJO对象与JavaBean的关系。
JavaBean 规范:必须有一个公共、无参的构造方法,属性使用getter和setter来访问,其他方法遵从标准命名规范,要序列化的 ,以便网络传输。
和JavaBean比,POJO不包含任何业务逻辑,仅有构造方法和getter/setter方法。
2. 简要描述Lombok插件的作用及主要注解?
Lombok插件的作用:简化java开发,添加注解就不需要给实体类编写getter等方法,实现了在源码中没有getter/setter/toString()和(有参与无参)构造方法等方法,而编译后的字节码文件里自动生成。
主要注解:@Data、@NoArgsConstructor、@AllArgsConstructor、@Builder。
3. 总结Servlet程序在MVC项目架构中的作用。
是MVC模式里的一部分,即控制器(Controller),对输入输出进行控制,来自客户端的请求信息,首先提交给Servlet,控制器选择相应的Model对象(即某个JavaBean)处理获取的数据,控制器选择相应的View组件,通常表现为做转发处理。
四、打开项目MemMana,掌握以DAO为基础、MVC项目程序的分层架构
1. 使用JDBC提供访问数据库提供了哪四个通用接口?
driver,Connection,Statement(PreparedStatement),ResultSet
2. 类DriverManager提供的2个核心静态方法分别是什么?
registerDriver,getConnection
3. 项目的DAO层和Service层,必须都定义接口吗?使用接口有什么好处?
不用都定义接口,使用接口就更灵活,不用反复修改代码,也可以减少代码量,提高复用性。
五、分别打开项目ServletListener和ServletFilter,了解Servlet监听器和过滤器的使用*
1. 结合Servlet监听器的接口ServletContextListener、HttpSessionListener和ServletRequestListener的定义,分别说明三个接口的作用。
ServletContextListener 监听Tomcat的上下文环境信息:启动和停止。
HttpSessionListener 在用户请求本项目时统计在线人数变化。
ServletRequestListener 通过使用不同类型的浏览器访问服务器,观察控制台中的请求信息
2. Servlet监听器使用的注解是什么?会话监听器的作用是什么?
Servlet监听器使用的注解是@WebListener
会话监听器的作用是统计在线人数
3. 结合项目MemMana里的Servlet过滤器和会员注册等功能程序,说明使用Servlet过滤器的好处?
使用Servlet过滤器的好处:可以统一网站的请求与响应编码。
【小结】要求:至少写五点。
1.在JSP页面里使用请求、响应和会话等对象,与在Servlet程序使用这样这些名为对象有何不同?
在Servlet程序使用请求、响应和会话等对象要用Java代码来处理,JSP页面里有内置对象不用手动创建,可以通过JSP表达式语言使用请求、响应和会话等对象。
2. 对Web项目配置了热部署后,对JSP页面的修改通过刷新有效,对Servlet的修改呢?
要重新启动Web应用程序。
3.如果没有使用Servlet过滤器则在注册等功能的时候会出现乱码现象,如果以后出现此类问题可以想到是否有使用Servlet过滤器。
4.当<%...%>只有一行输出的代码out.print(exp)时,一定要使用<%...%>吗?
不一定,当<%...%>只有一行输出的代码out.print(exp)时,使用表达式语法<%=exp%> 。
可以使代码更具可维护性和可扩展性,同时提供了良好的代码组织和复用机制。
5.在Servlet程序里,怎么获得JSP内置对象application的实例对象?
可以使用getServletContext ()方法获得其实例。