java复习笔记—servlet(1)一个简单的项目

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

           https://blog.csdn.net/qq_39688352/article/details/76794973

猜你喜欢

转载自blog.csdn.net/wangli1281/article/details/83624139
今日推荐