Java Web 程序设计 第10章 Servlet编程 10.2 Servlet概述

10.2 Servlet概述

1.核心知识点

2.学习任务1--注解配置Servlet

第一个Servlet程序。

ServletTest.java

package test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/ServletTest")
public class ServletTest extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public ServletTest() {
        super();      
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");//解决中文乱码问题
		PrintWriter out=response.getWriter();//获取输出流对象
		out.print("这是Eclipse创建的第一个Servlet程序!");//利用输出流向客户端发送字符数据
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		doGet(request, response);
	}
}

3.学习任务2--web.xml文档配置Servlet

新建WelcomeServlet类,继承HttpServlet! 重写doGet()方法,输出“欢迎来到本系统!
说明:由于直接访问Servlet属于get方法请求,所以在doGet()方法中进行输出。

WelcomeServlet.java

package test;

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;

public class WelcomeServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html;charset=UTF-8");
		PrintWriter out=resp.getWriter();
		out.print("欢迎来到本系统!");
	}
}

利用web.xml配置Servlet。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
		xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
		xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
				http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
		id="WebApp_ID" version="3.1">
  <display-name>Servlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
    
  <servlet>
  	<servlet-name>WelcomeServlet</servlet-name>
  	<servlet-class>test.WelcomeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>WelcomeServlet</servlet-name>
  	<url-pattern>/test/WelcomeServlet</url-pattern>
  </servlet-mapping>
</web-app>

4.任务3-- Servlet运行机制

创建Servlet:InitTest.java
验证Servlet实例化!

第一次运行InitTest的控制台输出.

不关闭服务器,再次剧新运行InitTest的控制台输出.

注意: Servlet 运行期间,只会实例化1次,即只创建一个Servlet 对象!
说明: Servlet 采用多线程机制,每次请求,系统会分配一个线程来运行doGet()!为了安全起见,不建议在Servlet内定义成员变量,除非这些成员变量是所有用户共享的!

InitTest.java

package test;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/InitTest")
public class InitTest extends HttpServlet implements Servlet{
	private static final long serialVersionUID=1L;
	public InitTest() {//定义构造方法
		System.out.println("InitTest的构造方法");	
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("InitTest.doGet方法!");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值