文章目录
1、软件结构发展史
2、Tomcat与Servlet
3、第一个Servlet
FirstServlet.java:
package com.imooc.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;
public class FirstServlet extends HttpServlet{
//构造方法
public FirstServlet() {
System.out.println("正在创建FirstServlet对象");
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收请求发来的参数
String name = request.getParameter("name");
String html = "<h1 style='color:red'>hi"+name+"!</h1><hr/>";
System.out.println("返回给浏览器的响应·数据为:" + html);
PrintWriter out = response.getWriter();
out.println(html);//将html发送回浏览器
}
//初始化方法
@Override
public void init() throws ServletException {
System.out.println("正在初始化FirstServlet对象");
}
//销毁方法
@Override
public void destroy() {
System.out.println("正在销毁FirstServlet对象");
}
}
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>FirstServlet</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 -->
<!-- servlet的别名 -->
<servlet-name>first</servlet-name>
<servlet-class>com.imooc.servlet.FirstServlet</servlet-class>
</servlet>
<!-- 将Servlet与URL绑定 -->
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
</web-app>
4、Java Web标准工程结构
5、Servlet开发与基本配置
6、请求参数的发送与接收
7、Get与Post请求
8、Servlet生命周期
代码演示过程:
package com.imooc.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;
public class FirstServlet extends HttpServlet{
//构造方法
public FirstServlet() {
System.out.println("正在创建FirstServlet对象");
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收请求发来的参数
String name = request.getParameter("name");
String html = "<h1 style='color:red'>hi"+name+"!</h1><hr/>";
System.out.println("返回给浏览器的响应·数据为:" + html);
PrintWriter out = response.getWriter();
out.println(html);//将html发送回浏览器
}
//初始化方法
@Override
public void init() throws ServletException {
System.out.println("正在初始化FirstServlet对象");
}
//销毁方法
@Override
public void destroy() {
System.out.println("正在销毁FirstServlet对象");
}
}
9、注解简化配置
代码实例:
package com.imooc.servlet;
import java.io.IOException;
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("/anno")
public class AnnotationServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
arg1.getWriter().println("hahahaha");
}
}
10、启动时加载Servlet
①第一种方式:web.xml文件:
<servlet>
<servlet-name>create</servlet-name>
<servlet-class>com.imooc.servlet.CreateServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
②第二种方式:使用注解