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

2021-06-11 11:20:53 浏览数 (1)

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

代码语言:javascript复制
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

代码语言:javascript复制
<%@ 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配置

代码语言:javascript复制
	<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/项目名/

0 人点赞