jsp--MVC设计模式和Servlet2.5入门案例

MVC设计模式:
在这里插入图片描述
在这里插入图片描述
M:Model ,模型 :一个功能。用JavaBean实现。

V:View,视图: 用于展示、以及与用户交互。使用html js css jsp jquery等前端技术实现

C:Controller,控制器 :接受请求,将请求跳转到模型进行处理;模型处理完毕后,再将处理的结果
返回给 请求处 。 可以用jsp实现, 但是一般建议使用 Servlet实现控制器。

Jsp->Java(Servlet)->JSP

Servlet:
Java类必须符合一定的 规范:
a.必须继承 javax.servlet.http.HttpServlet
b.重写其中的 doGet()或doPost()方法

doGet(): 接受 并处 所有get提交方式的请求
doPost():接受 并处 所有post提交方式的请求

案例:

Servlet要想使用,必须配置
Serlvet2.5:web.xml
Servle3.0: @WebServlet

在这里插入图片描述
Serlvet2.5:web.xml:

项目的根目录:WebContent 、src

案例:
在src下创建 com.xdr.servlet–WelcomeServlet.java

package com.xdr.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class WelcomeServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("doGet...");
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		this.doGet(req, resp);
	}
}

doGet和doPost两者之间可以相互调用,所以一般只在一边写即可,例外一边可以调用。
index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<a href="WelcomeServlet">WelcomeServlet</a><br><br>
	<form action="WelcomeServlet" method="post">
		<input type="submit">
	</form>
</body>
</html>

web.xml配置

	<servlet>
		<servlet-name>WelcomeServlet</servlet-name>
		<servlet-class>com.xdr.servlet.WelcomeServlet</servlet-class>
	</servlet>  
	
  	<servlet-mapping>
  		<servlet-name>WelcomeServlet</servlet-name>
  		<url-pattern>/WelcomeServlet</url-pattern>
  	</servlet-mapping>

结果:各点击下
在这里插入图片描述
在这里插入图片描述

<a href="WelcomeServlet">所在的jsp是在 WebContent目录中,因此 发出的请求WelcomeServlet 是去请求项目的根目录。所以<url-pattern>/项目名</url-pattern> 必须加个“/”,一般<servlet-name> </servlet-name>写请求的名

Servlet流程:
请求 -><url-pattern> -> 根据<servlet-mapping>中的<servlet-name> 去匹配 <servlet> 中的<servlet-name>,然后寻找到<servlet-class>,求中将请求交由该<servlet-class>执行。

2个/:
jsp:/ localhost:8080
web.xml: / http://localhost:8080/项目名/

posted @ 2019-10-12 02:22  兮动人  阅读(27)  评论(0编辑  收藏  举报