Servlet入门复习Hello World

一.Servlet和jsp分析

       jsp本质就是Servlet,jsp是Servlet的一种延伸,早期没有jsp好多html代码都写在Servlet的java类中,这样写起来麻烦,所有就出现了jsp。 

    1.不同点

     Servlet在Java代码中通过HttpServletResponse对象动态输出html代码

     JSP在静态html内容中嵌入Java代码,Java代码被动态执行后生成html代码(可以到tomcat中查看到jsp执行后的java文件)

    2.使用特点

        Servlet能够很好地组织业务逻辑代码,mvc中的前端控制层,主要写逻辑,

        JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的

二.Servlet入门程序Hello World

   前端控制层,servlet层必须继承HttpServlet,重写所需要的doGet、doPost、doPut,doDelete等方法

package cs.test.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;


/**
 * servlet前端控制层
 * @author cs  
 * @date 2018年6月1日
 */
public class IndexServlet extends HttpServlet {
	
	/**
	 * servlet 初始化时执行
	 */
	@Override
	public void init() throws ServletException {
		System.out.println("servlet 初始化");
	}
	
	/**
	 * get请求
	 */
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("servlet get请求");
		
		resp.setContentType("text/html");
		PrintWriter printWriter = resp.getWriter();//获取输出流
		printWriter.println("<h1>Hello World</h1>");//输出页面
	}
	/**
	 * post请求
	 */
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("servlet post请求");
	}
	
	/**
	 * servlet 销毁时执行
	 */
	@Override
	public void destroy() {
		System.out.println("servlet 销毁");
	}
}
jsp,视图层
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hello world</title>
</head>
<body>
	
</body>
</html>
 web.xml 配置Servlet
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1" metadata-complete="true">
	<!-- web应用初始化配置 -->
	<!-- 项目欢迎页 -->
	<welcome-file-list>
		<welcome-file>index</welcome-file>
	</welcome-file-list>

	<!-- 配置servlet类 -->
	<servlet>
		<servlet-name>index</servlet-name><!-- servlet名称,作用:用于映射访问路径 -->
		<servlet-class>cs.test.servlet.IndexServlet</servlet-class><!-- 继承HttpServlet的实现类 -->
	</servlet>
	
	<!-- 映射路径配置 -->
	<servlet-mapping>
		<servlet-name>index</servlet-name><!-- servlet名称 -->
		<url-pattern>/index</url-pattern><!-- 访问时的路径 -->
	</servlet-mapping>
	
	<!-- servlet允许配置多个映射 -->
	<servlet-mapping>
		<servlet-name>index</servlet-name><!-- servlet名称 -->
		<url-pattern>/test/index</url-pattern><!-- 访问时的路径 -->
	</servlet-mapping>

</web-app>
   输出结果: 访问不同的url

                    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值