import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Administrator
*
* 第一个serlvet,没有具体的业务逻辑处理
* 主要是加深对web.xml配置的理解
* <servlet-name>HelloServlet</servlet-name> 真实的serlvet名称,在配置文件中保持一致
<servlet-class>HelloServlet</servlet-class> 具体的类,如果有包名,则需要写完整的路径, 比如:net.tuolian.HelloSerlvet
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern> 这里决定在浏览器地址中如何找到该类,比如:localhost/projectname/HelloServlet
*/
public class HelloServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Constructor of the object.
*/
public HelloServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print("my first servlet");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
/**
* 此处没有具体的初始化逻辑,空
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
web.xml配置文件,注意name, url-pattern
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
例如,XML头必须是文件的第一项,`DOCTYPE`声明必须紧跟其后,`<web-app>`元素必须紧随`DOCTYPE`声明。在`<web-app>`元素内部,元素的顺序同样非常重要。尽管服务器不一定强制执行这种顺序,但允许(实际上有些...
在执行一个 Servlet 或 JSP页面之前,必须执行第一个相关的过滤器的 doFilter 方法。在该过滤器对其 FilterChain 对象调用 doFilter 时,执行链中的下一个过滤器。如果没有其他过滤器,Servlet 或 JSP页面被执行。 ...
ContextLoaderListener 是Spring框架中一个重要的组件,它作为Servlet容器的监听器(ServletContextListener),在Web应用程序启动时自动加载ApplicationContext的配置信息。当web.xml中配置了`<listener-class>org...
- **加载与实例化**:当第一个请求到达Servlet时,服务器会加载Servlet类并创建一个Servlet实例。 - **初始化**:创建实例后,服务器调用`init()`方法进行初始化,通常用来加载配置信息。 - **服务**:每当有新的...
在这个"简单的servlet例子"中,我们将深入理解如何创建一个基础的Servlet以及如何配置它在Web应用程序中运行。 1. **Servlet接口与实现** `mybasicservlet` 类实现了`Servlet`接口。`Servlet`接口定义了Servlet的...
通过实践这个“第一个例子”,开发者能够理解Servlet如何接收和响应HTTP请求,为后续的Web应用开发打下基础。此外,Servlet还可以与其他Java EE组件(如JNDI、EJB、JPA等)协同工作,构建更复杂的分布式企业级应用。
3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 ...
当服务器启动或第一次接收到对Servlet的请求时,Servlet会被加载和初始化。然后,每当有新的请求到来,Servlet容器(如Tomcat)都会调用Servlet的`service()`方法来处理请求。最后,当服务器关闭或者Servlet不再需要...
3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 ...
任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> 整个配置文件的...
1. **加载与实例化**:当服务器启动或第一次接收到对Servlet的请求时,会加载Servlet类,并创建Servlet实例。 2. **初始化**:创建实例后,服务器调用Servlet的`init()`方法进行初始化,通常在这里进行配置读取、...
当服务器接收到对Servlet的第一次请求时,会加载Servlet类并创建一个实例。然后调用`init()`方法进行初始化,这个方法通常用于设置Servlet的配置。在服务阶段,Servlet通过`service()`方法处理来自客户端的请求,并...
在这个例子中,第一个规则将任何访问"/old-page.html"的请求重定向到"/new-page"。第二个规则则检查请求URI是否以"/secure/"开头,如果是,那么会将请求重定向到HTTPS版本的相同URL。 在`web.xml`中配置...
首先,我们来看第一种实现Servlet的方式:使用`@WebServlet`注解。这是Java Servlet 3.0及更高版本引入的一种简化Servlet配置的方法。在类上添加`@WebServlet`注解,可以直接声明Servlet的URL映射、初始化参数等。...
创建Servlet的第一个步骤是建立一个Java项目。这通常涉及到以下步骤: 1. **环境配置**:确保你已经安装了Java Development Kit (JDK) 和 Apache Tomcat。设置好环境变量,如`JAVA_HOME`和`CATALINA_HOME`。 2. **...
3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 ...
3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 ...
### Java Web 第一个例子知识点详解 #### 一、实验目的及要求 1. **掌握动态Web工程的创建,以及动态Web工程目录结构与Java工程的区别** - **动态Web工程的创建**: - 使用IDE(如Eclipse或IntelliJ IDEA)创建...
在Servlet 2.5及之前版本中,Servlet、Filter和Listener的配置通常需要在`web.xml`文件中手动编写XML元素,而Servlet 3.0通过注解的方式,使得开发者可以直接在源代码中进行配置,提高了开发效率和代码的可读性。...
- 该方法通常只被调用一次,当第一次请求到达时或在 Servlet 容器启动时。 - **请求处理阶段**: - `service()` 方法用于处理客户端的请求。 - 该方法可以被多次调用,每次请求都会触发一次 `service()` 方法的...