1.什么是servlet?
Servlet是sun公司提供的一门用于开发动态web资源的技术。Servlet(Servlet Applet),全称Java Servlert .是用Java编写的服务器端程序。其主要功能在与交互式的浏览和修改数据,生成动态Web内容。狭义的servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet的类,一般情况下,人们将Servlet理解为后者。比如HttpServlet类继承自Servlet类,可以利用继承Http Servlet 来实现Http请求,当不是Http请求的时候,也可以定义其他形式的Servlet。
Servlet 运行于支持Java的服务器中,从现实上讲,servlet 可以响应任何类型的请求,但是绝大多数情况下Servlet只用于来扩展基于THHP协议的Web服务器。
2.开发一个简单的servlet项目
第一,首先建立一个继承HttpServlet的类。
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;
public class HelloServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
//获取地址
String uri = request.getRequestURI();
System.out.println(uri);
//路径
String path = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));
//工程名
String projectName = uri.substring(uri.lastIndexOf("/"));
if("/hello".equals(path)) {
out.print("<div><h1>练习</h1><hr>练习</div>");
}else if("/test".equals(path)) {
System.out.println("重定向:http://localhost:8088/DemoService3/jsp/hello.jsp");
//重定向
response.sendRedirect("jsp/hello.jsp");
}else if("/test2".equals(path)) {
//转发
//获取请求转发器对象,该转发器的指向通过getRequestDisPatcher()的参数设置,调用forward()方法,转发请求
request.setAttribute("name", "张三");
request.getRequestDispatcher("jsp/hello.jsp").forward(request, response);
}
out.close();
}
}
第二步:然后再WEB-INF文件夹下建立一个web.xml文件,记录网站的配置信息。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>DemoService3</display-name>
<welcome-file-list>
<welcome-file></welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
第三步:写一个前端界面
<%@ 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>Insert title here</title>
</head>
<body>
<div>
<h1>你好,世界!</h1>
<hr>
<%=(String)request.getAttribute("name") %>,你好
</div>
</body>
</html>
然后可以运行服务器,进入地址:http://localhost:8088/DemoService3/test.do
参考:https://blog.csdn.net/honghailiang888/article/details/50585475