【精选】黑马程序员《JavaWeb程序设计案例教程》

您所在的位置:网站首页 网页创意设计案例教程大象出版社技能训练答案 【精选】黑马程序员《JavaWeb程序设计案例教程》

【精选】黑马程序员《JavaWeb程序设计案例教程》

2023-10-20 19:23| 来源: 网络整理| 查看: 265

10)

3、HTML页面代码如下:

hello world hello world!~~ hello world!~~

4、HTML页面代码如下:

第二章 【测一测】 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1、简述HTTP1.1协议的通信过程? 2、简述POST请求和GET请求有什么不同?(至少2点) 3、请列举出Tomcat安装目录下的子目录,并对其进行简要说明?(至少列出5个) 4、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo、Casillas、Ramos、Modric、Benzema;篮球队一支,队名为Lakers,队员2人:Oneal,Bryant。里面要求含有注释,注释内容自定。 【答案】 1、HTTP1.1协议的通信过程如下:

客户端与服务器端建立TCP连接。 客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。 服务器必须按照接受客户端请求的先后顺序依次返回响应结果。 4)客户端发出关闭TCP连接的请求。 服务器端关闭TCP连接。

2、POST请求和GET请求主要有如下不同:

POST传输数据大小无限制 POST比GET请求方式更安全

3、Tomcat安装目录下的子目录及其说明如下: bin:用于存放Tomcat的可执行文件和脚本文件(扩展名为.bat的文件),如tomcat7.exe、startup.bat; conf:用于存放Tomcat的各种配置文件,如web.xml、server.xml; lib:用于存放Tomcat服务器和所有Web应用程序需要访问的JAR文件; logs:用于存放Tomcat的日志文件; temp:用于存放Tomcat运行时产生的临时文件; webapps:Web应用程序的主要发布目录,通常将要发布的应用程序放到这个目录下; work:Tomcat的工作目录,JSP编译生成的Servlet源文件和字节码文件放到这个目录下。

4、XML页面代码如下:

Madrid Ronaldo Casillas Ramos Modric Benzema

Lakers Oneal Bryant

第三章 【测一测】 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1、请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用。 2、简述ServletContext接口的三个主要作用。 3、编写一个servlet,实现统计网站被访问次数的功能。 4、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。 【答案】 1、Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo这 5个方法,这些方法的特点及其作用具体如下: 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、ServletContext接口的三个主要作用如下: 1)获取Web应用程序的初始化参数 2)实现多个Servlet对象共享数据 3)读取Web应用下的资源文件

3、实现步骤如下: 1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法 2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次Servlet,使访问次数times加1 3)获取ServletContext,通过它的功能记住上一次访问后的次数 (1)ShowTimesServlet类的编写如下: public class ShowTimesServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = getServletContext(); Integer times = (Integer) context.getAttribute(“times”); if (times == null) { times = new Integer(1); } else { times = new Integer(times.intValue() + 1); } //设置编码,不然中文会变成乱码 resp.setContentType(“text/html;charset=GB2312”); //得到输出流对象 PrintWriter out=resp.getWriter(); out.println("

"); out.println(“页面访问统计”); out.println(""); out.println(“当前页面被访问了”); out.println(""+times+“次”); //设置属性,将times保存到当前的上下文中 context.setAttribute(“times”,times); } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } } (2)web.xml配置信息如下:

ShowTimesServlet

cn.itcast.chapter03.servlet.ShowTimesServlet

ShowTimesServlet /ShowTimesServlet

4、实现代码如下: (1)TestServlet类如下: public class TestServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); // 获得ServletConfig对象 ServletConfig config = this.getServletConfig(); // 获得参数名为encoding对应的参数值 String param = config.getInitParameter(“encoding”); out.println(“encoding=” + param); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } (2)web.xml文件配置如下:

TestServlet cn.itcast.chapter03.servlet.TestServlet

encoding UTF-8

TestServlet /TestServlet

第四章 【测一测】 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1、简述请求转发与重定向的异同?(至少写3点) 2、请写出禁止浏览器缓存页面的核心代码。 3、请编写一个类,该类能够实现访问完app应用下的Servlet后,还能在浏览器地址栏中显示出index.jsp的路径。 4、请编写一个类,该类使用HttpServletRequest对象的getHeader(“referer”)方法实现下载资源防盗链的功能。 【答案】 1、请求转发与重定向的异同点如下: 1)请求转发和重定向都可以实现访问一个资源时转向当前应用资源 2)请求转发是一次请求一次响应,而重定向为两次请求两次响应 3)一般情况下应该使用请求转发,减少浏览器对服务器的访问,减轻服务器压力 4)如果需要改变浏览器的地址栏,或更改浏览器的刷新按钮的功能时需要使用重定向

2、禁止浏览器缓存页面的核心代码如下: response.setDateHeader(“Expires”,0); response.setHeader(“Cache-Control”,“no-cache”); response.setHeader(“Pragma”,“no-cache”);

3、实现代码如下: (1)MyServlet程序类如下: public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println(“这里是MyServlet!”); response.sendRedirect(request.getContextPath() + “/index.jsp”); } } (2)web.xml文件配置如下:

MyServlet

cn.itcast.chapter04.servlet.MyServlet

MyServlet /MyServlet

4、该功能的实现步骤如下: 1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。 2)在doGet()方法中,使用HttpServletRequest对象的getHeader(“referer”)方法得到字段referer的值,并判断是否可以进行资源下载。 3)如果不能下载,则进入下载页(需要在Eclipse的WebContent目录下创建一个download.html)。 (1)DownManagerServlet类的实现代码如下: public class DownManagerServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“text/html;charset=utf-8”); PrintWriter out = response.getWriter(); // 获取referer头的值 String referer =



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3