Servlet 从小例子开始

是什么:

    Servlet是用Java编写的服务器端程序,指任何实现了这个Servlet接口的类。Servlet运行于支持Java的应用服务器中,主要用来扩展基于HTTP协议的Web服务器。


做什么:
Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
1) 客户端发送请求至服务器端;
2) 服务器将请求信息发送至 Servlet;
3) Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
4) 服务器将响应返回给客户端。
    一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,并且可以通过“请求-响应”编程模型来访问的驻留在服务器内存中的Servlet程序


Demo:分为3个步骤;

    

新建一个Web Project,然后在src下创建一个包,创建类HelloServlet;

index.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <h1>第一个Servlet小例子</h1>
    <hr>
    <a href ="servlet/HelloServlet">Get方式请求HelloServlet</a>
    <br/>
    <form action = "servlet.HelloServlet" method="post">
    	<input type ="submit" value="Post方式请求HelloServlet"/>
    </form>
  </body>
</html>

HelloServlet.java

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 {
		System.out.println("处理Get()	请求....");
		//获取了一个输出流 输出的对象是页面
		PrintWriter out = response.getWriter();
		response.setContentType("text/html;charset=utf-8");
		out.println("<strong>Hello Servlet!</strong><br>");
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("处理Post()	请求....");
		//获取了一个输出流 输出的对象是页面
		PrintWriter out = response.getWriter();
		response.setContentType("text/html;charset=utf-8");
		out.println("<strong>Hello Servlet!</strong><br>");
	}
}

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">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  <!-- 给Servlet起的一个名字 -->
  	<servlet-name>HelloServlet</servlet-name>
  	<!-- 要访问的Servlet所在的类; -->
  	<servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <!-- 和上面定义的名字,是一个对应的关系,名字一样 -->
  		<servlet-name>HelloServlet</servlet-name>
  		<!-- HelloServlet的访问路径,要和jsp页面请求的路径一一致; -->
  		<url-pattern>/servlet/HelloServlet</url-pattern>
  </servlet-mapping>
</web-app>

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值