观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第1张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第2张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第3张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第4张图片

eclipse 配置JDK

HTML 标签的 href 属性

新建MyFirstServletDemo项目;

新建index.jsp:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>




Insert title here


	

第一个Servlet小例子


Get方式请求HelloServlet

 在src下新建servlet包,在包下新建类HelloServlet时指定父类:

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第5张图片

package servlet;

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;

//继承于HttpServlet
public class HelloServlet extends HttpServlet {

	@Override //表示重写,从父类继承过来的方法。
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("处理Get()请求....");
		PrintWriter out=response.getWriter();		//获得给浏览器输出的对象
		out.println("Hello Servlet!
");//给浏览器输出信息,strong标签字体加粗,
换行 } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }

 

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第6张图片

java.io.PrintWriter是java中很常见的一个类,该类可用来创建一个文件并向文本文件写入数据。可以理解为java中的文件输出,java中的文件输入则是java.io.File。 

 

接下来注册servlet:

servlet-mapping作用

url定义路径

/web工程的根目录

新建web.xml:







        index.jsp



HelloServlet
servlet.HelloServlet


HelloServlet
/servlet/HelloServlet



输出结果: 

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第7张图片

 观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第8张图片

输出标签是因为没有指定文件类型:

package servlet;

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;

//继承于HttpServlet
public class HelloServlet extends HttpServlet {

	@Override //表示重写,从父类继承过来的方法。
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("处理Get()请求....");
		PrintWriter out=response.getWriter();		//获得给浏览器输出的对象
		response.setContentType("text/html;charset=utf-8");
		out.println("Hello Servlet!
");//给浏览器输出信息,strong标签字体加粗,
换行 } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第9张图片

 

由于用get方式请求,所以System.out.println处理get请求这句话在后台打印输出:

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第10张图片

input type提交按钮

post方法:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>




Insert title here


	

第一个Servlet小例子


Get方式请求HelloServlet

 

package servlet;

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;

//继承于HttpServlet
public class HelloServlet extends HttpServlet {

	@Override //表示重写,从父类继承过来的方法。
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("处理Get()请求....");
		PrintWriter out=response.getWriter();		//获得给浏览器输出的对象
		response.setContentType("text/html;charset=utf-8");
		out.println("Hello Servlet!
");//给浏览器输出信息,strong标签字体加粗,
换行 } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("处理Post()请求...."); PrintWriter out=response.getWriter(); //获得给浏览器输出的对象 response.setContentType("text/html;charset=utf-8"); out.println("Hello Servlet!
");//给浏览器输出信息,strong标签字体加粗,
换行 } }

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第11张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第12张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第13张图片

input type="submit" 和"button"有什么区别?

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第14张图片

新建index.jsp:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>




Insert title here


	

使用Eclipse创建Servlet小例子


Get方式请求HelloServlet

在src新建servlet包和HelloServlet类:

package servlet;

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

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

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Servlet#init(ServletConfig)
	 */
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Servlet#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("处理Get请求...");
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("");
		out.println("");
		out.println("  A Servlet");
		out.println("  ");
		out.println("Hello Servlet!
"); out.println(" "); out.println(""); out.flush(); out.close(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("处理Post请求..."); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(" A Servlet"); out.println(" "); out.println("Hello Servlet!
"); out.println(" "); out.println(""); out.flush(); out.close(); } }

新建web.xml:



  
  
  
    This is the description of my J2EE component
    This is the display name of my J2EE component
    HelloServlet
    servlet.HelloServlet
  

  
    HelloServlet
    /servlet/HelloServlet
  
  	
  
    index.jsp
  

结果:

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第15张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第16张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第17张图片

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第18张图片

 观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第19张图片

 

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第20张图片 

servlet执行流程:

首先接收用户的请求,用户点击超链接,超链接请求的地址就是一个servlet,以超链接方式提交称为get请求。

用户点击超链接,提交给服务器之后,服务器会在web.xml配置文档中,在servlet-mapping中寻找超链接地址和与之相对应的servlet名字,再到servlet标签寻找名字和处理类,于是就找到了处理类。然后根据用户提交的请求方式,由于用的是超链接,服务器分析出来用的是get请求,于是执行这个类中重写的doGet方法,这样在页面上显示servlet执行结果。

要生成servlet实例,要调用构造方法, 在init方法前调用,然后调用初始化方法init。

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第21张图片

 

观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期_第22张图片

你可能感兴趣的:(观看慕课老师milanlover视频Servlet+手工编写Servlet+用Eclipse编写Servlet+Servlet执行流程和生命周期)