我们来回一下,我们回忆下上一篇讲到的,大家还记得那个url吗?
http://localhost:8089/Test/servlet/TestServlet
我们访问的是TestServlet,为什么会多出了servlet呢?接下来我们就来讲解下web.xml文件!
我们先看下之前的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<!-- 设定当前servlet的内部名称 -->
<servlet-name>TestServlet</servlet-name>
<!-- 指定对应servlet内部名相关类 -->
<servlet-class>com.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 通过servlet内部名把URL与Class绑定 -->
<servlet-name>TestServlet</servlet-name>
<!-- 这是用户访问Servlet的URL -->
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
</web-app>
通过上面的注释,相信你应该知道为什么了吧?
如果不是很理解的!先看下面的文字说明,再返回看上面的代码!
web.xml文件我们称它为部署文件,如果你是通过IDE工具创建的话,会为你自动创建这样子的一个文件,也就是部署文件(DD)。
该文件在程序运行的时候起到了一个“总调度”的角色。它会告诉容器如何运行servlet文件和jsp文件。在web.xml文件使用两个xml元素(<servler>和<servlet-mapping>)把用户访问的url映射到servlet,其中<servlet-mapping>将用户访问的url映射到servlet的内部名,<servlet>元素把servlet内部名映射到一个servlet类名(记得哦,要加上包)
相信看到这个你应该懂了吧!不懂的话,反复的看这两部分,最好自己去试试!
也相信大家知道为什么前面为什么会有servlet了吧!
好了!那我们接下来继续讲解servlet运行中常见的错误!
1、中文乱码
一般是出现????这样子情况!基本上在你的servlet类加上(这里我们以utf-8威力哈,比如还有GBK,具体情况具体替换掉就可以了)
//设定输出内容为html,字符集为:utf-8
response.setContentType("text/html;charset=utf-8");---》记得是charset而不是charSet
//输入的内容字符集为:utf-8
request.setCharacterEncoding("utf-8");
下面两种情况基本上是报404的错误!
2、servlet部署排错(用户访问的url要跟web.xml文件里面servlet的url相一致)
3、servlet-name不一致(查看是否一致)
接下来我们来了解下两个对象常用的方法(HttpServletRequest request 和 HttpServletResponse response)
1、HttpServletRequest request
request。getParameter("param");--->获取客户端请求数据,param为表单元素(如:text、password、select等)名称,返回值为String类型。
request.setCharacterEncoding("utf-8");---》设定输入内容字符类型为:utf-8
request.setAttribute("loginname",user);-->在request作用域内存储数据,loginname为存储数据的引用名,类型是String。user为存储的数据,类型为Object。
request.getRequestDispatcher("url").forward(request, response);----》请求转发,参数为请求、响应对象
2、HttpServletResponse response
response.setContentType("text/html;charset=utf-8");---》设定输出内容为html,字符集为:utf-8
response.sendRedirect("url");--》重定向到指定的资源(url)
每天一点点,希望对大家有利!
分享到:
相关推荐
### Servlet基础知识总结 #### 一、Servlet简介 Servlet是一种服务器端的小程序,是Java平台上的一个重要的技术之一,主要用于处理客户端的HTTP请求并生成动态网页。Servlet是在服务器端运行的,能够提供各种服务...
在Servlet编程中,`GenericServlet`是最基础的抽象类,它实现了Servlet接口,而大多数HTTP相关的Servlet会继承`HttpServlet`。`HttpServlet`提供了针对HTTP请求方法的抽象方法,如`doGet`和`doPost`。开发者通常需要...
总的来说,Servlet基础知识和Servlet容器模型构成了Java Web开发的核心部分。掌握这些概念有助于理解Web应用的工作原理,以及如何在实际项目中有效地使用Servlet和容器提供的功能。通过深入学习和实践,开发者可以...
**学习JSP和Servlet基础,你需要理解它们的基本概念、生命周期、API使用以及如何协作处理Web请求。此外,熟悉EL和JSTL,以及如何在实际项目中应用MVC模式,对于提升开发效率和代码质量至关重要。本课件将逐步引导你...
Servlet 基础补充案例习题 在本节中,我们将探讨 Servlet 基础补充案例习题,旨在掌握实际开发中 Servlet 程序的基本实现和使用。我们将通过两个案例,分别演示如何编写基于 HTTP 协议的 Servlet 程序,并掌握 ...
因此,可以说Servlet是JSP技术的基础,因为JSP最终也是通过Servlet来实现其功能的。 处理HTTP请求的方法主要有两种:GET和POST。GET请求通常用于获取资源,其参数会显示在URL中,而POST请求则常用于向服务器提交...
在本教程"Servlet基础Demo"中,我们将深入理解Servlet的工作原理,以及如何创建和运行一个简单的Servlet应用。 首先,Servlet是一个Java类,它实现了Servlet接口或者HttpServlet类,后者是Servlet接口的一个实现,...
在本文中,我们将深入探讨Servlet的基础知识,包括其基本概念、生命周期、部署以及如何进行实际开发。 一、Servlet基本概念 Servlet是一种Java类,它扩展了服务器的功能,可以处理来自客户端(通常是浏览器)的请求...
Servlet基础入门教程 Servlet是Java Web开发中的一个关键组件,它是服务器端的程序,用于处理来自客户端(如浏览器)的请求并返回响应。本教程旨在为初学者提供一个全面的Servlet入门指南,涵盖其基本概念、方法及...
### servlet基础教程知识点详解 #### 一、Servlet简介与特点 **Servlet** 是服务器端的一种小型程序,主要用于处理客户端发送的HTTP请求,并返回相应的HTTP响应。它与客户端的小程序 **Applet** 相对应,主要区别...
在"Servlet基础源代码"的学习中,你将接触到以下关键知识点: 1. **Servlet生命周期**:Servlet的生命周期包括加载、实例化、初始化、服务、销毁等阶段。当服务器启动或第一次接收到对Servlet的请求时,会加载并...
在本篇3+Servlet基础中,我们将深入探讨Servlet的基本概念、接口、配置以及实际应用。 首先,Servlet是一个Java类,它实现了Servlet接口或HttpServlet接口,这两个接口都是Java Servlet API的一部分。Servlet接口...
jsp 与servlet基础 1:jsp概述 2:jsp基础 3:jsp隐含对象 4:jsp中使用数据库 5:jsp与javabean ...
JavaWeb Servlet 基础教程 http原理, bs架构和cs架构, servlet原理, tomcat的部署
Servlet基础教程 http原理 request, response
通过学习“Servlet基础教程”,你可以掌握创建动态网站的基本技能。无论你想构建用户管理系统还是其他类型的Web应用,Servlet都能提供强大的支持。这个课程将帮助你理解Servlet的工作原理,如请求和响应的处理,以及...
JSP Servlet基础知识测试题
### Servlet基础 **1. Servlet概述:** Servlet是Java API的一部分,是一个Java类,用于扩展服务器的功能,处理HTTP请求。Servlet生命周期由容器(如Tomcat)管理。 **2. Servlet生命周期方法:** - **init()**:...