首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jsp--MVC设计模式和Servlet2.5入门案例

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

作者头像
兮动人
发布于 2021-06-11 03:20:53
发布于 2021-06-11 03:20:53
44400
代码可运行
举报
文章被收录于专栏:兮动人的博客兮动人的博客
运行总次数:0
代码可运行

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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
<%@ 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
代码运行次数:0
运行
AI代码解释
复制
	<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/项目名/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【机器学习 | Adaboost原理&实现】
可以发现,指数损失函数在【正确\错误】分类的样本的值【小于\大于】1,正好符合Adaboost加法模型的实现思路,<u>在加入新的弱学习器中【提高\降低】分类【错误\正确】样本的权值</u>,所以第$m$个弱分类器,第$i$个样本的权值更新可以设计为:
九年义务漏网鲨鱼
2025/06/27
730
高斯混合模型:GMM和期望最大化算法的理论和代码实现
高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。
deephub
2023/12/04
6910
高斯混合模型:GMM和期望最大化算法的理论和代码实现
14种异常检测方法汇总(附代码)!
今天给大家分享一篇关于异常检测的文章,重点介绍了14种公开网络上一些常见的异常检测方法(附资料来源和代码)。
小白学视觉
2022/12/27
3K0
14种异常检测方法汇总(附代码)!
python实现10种概率分布(附代码)
在概率论和统计学中,均匀分布也被称为矩形分布。这种分布可以通过两个参数a和b来定义,它们分别是数轴上的最小值和最大值,因此通常表示为U(a, b)。
皮大大
2024/08/07
1K0
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
Model-Agnostic Meta-Learning (MAML): 与模型无关的元学习,可兼容于任何一种采用梯度下降算法的模型。 MAML 通过少量的数据寻找一个合适的初始值范围,从而改变梯度下降的方向, 找到对任务更加敏感的初始参数, 使得模型能够在有限的数据集上快速拟合,并获得一个不错的效果。 该方法可以用于回归、分类以及强化学习。
汀丶人工智能
2023/10/11
1.8K0
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
逻辑回归
y=\sigma(f(\boldsymbol{x}))=\sigma\left(\boldsymbol{w}^{T} \boldsymbol{x}\right)=\frac{1}{1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}}
故事尾音
2019/12/18
6690
逻辑回归
多项式朴素贝叶斯分类器
在这篇文章中,我们介绍多项式朴素贝叶斯分类器是如何工作的,然后使用scikit-learn作为实际工作的示例来介绍如何使用。
deephub
2024/03/20
2880
多项式朴素贝叶斯分类器
直方图与核密度估计
直方图是一种经常被用于统计的图形表达形式,简单来说它的功能就是用一系列的样本数据,去分析样本的分布规律。而直方图跟核密度估计(Kernel Density Estimation,KDE)方法的主要差别在于,直方图得到的是一个离散化的统计分布,而KDE方法得到的是一个连续的概率分布函数。如果将得到的分布重新用于采样,两者都可以结合蒙特卡洛方法实现这样的功能,但是KDE的优点在于它得到的结果是可微分的,那么就可以应用于有偏估计的分子动力学模拟中,如元动力学(Meta Dynamics)方法。这里主要用Python实现一个简单的KDE函数的功能,也顺带介绍一下Numpy和Matplotlib中关于直方图的使用方法。
DechinPhy
2024/04/18
2900
直方图与核密度估计
不愧商汤,一面巨深入。。
Softmax函数主要用于多类别分类问题中,它通过对原始的类别分数进行转换,将它们转化为概率分布。这个过程使得模型的输出更容易解释为各个类别的概率。
Python编程爱好者
2024/01/11
2470
不愧商汤,一面巨深入。。
Python实现量子态采样
在前面一篇量子系统模拟的博客中,我们介绍了使用python去模拟一个量子系统演化的过程。当我们尝试理解量子态和量子门操作时,可以通过其矩阵形式的运算来描述量子态演化的过程:
DechinPhy
2021/05/21
9000
稀疏Softmax(Sparse Softmax)
本文源自于SPACES:“抽取-生成”式长文本摘要(法研杯总结),原文其实是对一个比赛的总结,里面提到了很多Trick,其中有一个叫做稀疏Softmax(Sparse Softmax)的东西吸引了我的注意,查阅了很多资料以后,汇总在此
mathor
2021/07/19
1.9K0
理论+实践!14 种异常检测方法总结!
Z-score为标准分数,测量数据点和平均值的距离,若A与平均值相差2个标准差,Z-score为2。当把Z-score=3作为阈值去剔除异常点时,便相当于3sigma。
Python编程爱好者
2024/03/19
8270
理论+实践!14 种异常检测方法总结!
简单易学的机器学习算法——受限玻尔兹曼机RBM
受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)是一种基于能量模型的神经网络模型,在Hinton提出针对其的训练算法(对比分歧算法)后,RBM得到了更多的关注,利用RBM的堆叠可以构造出深层的神经网络模型——深度信念网(Deep Belief Net, DBN)。下面简单介绍二值型RBM的主要内容。
felixzhao
2019/01/31
1.1K0
简单易学的机器学习算法——受限玻尔兹曼机RBM
概率和分布
概率空间:sample space,events space和probability function
esse LL
2024/08/07
1360
Python NumPy自定义随机分布生成器
随机数生成是数据分析、模拟和机器学习中的重要组成部分。NumPy 提供了强大的随机数生成工具,涵盖了多种常见分布(如正态分布、均匀分布等)。在实际应用中,经常需要根据特定需求创建自定义的随机分布生成器。
sergiojune
2025/01/15
2300
Python NumPy自定义随机分布生成器
TF-char7-反向传播法
向量\left(\frac{\partial \mathcal{L}}{\partial \theta_{1}}, \frac{\partial \mathcal{L}}{\partial \theta_{2}}, \frac{\partial \mathcal{L}}{\partial \theta_{3}}, \ldots \frac{\partial \mathcal{L}}{\partial \theta_{n}}\right)叫做函数的梯度
皮大大
2021/03/01
3190
TF-char7-反向传播法
深入理解与实践:Softmax函数在机器学习中的应用
今日推荐:前端小白使用Docsify+Markdown+‌Vercel,无服务器部署个人知识库原创
小说男主
2024/12/01
6180
深入理解与实践:Softmax函数在机器学习中的应用
从零开始学Pytorch(十三)之梯度下降
梯度下降 %matplotlib inline import numpy as np import torch import time from torch import nn, optim import math import sys sys.path.append('/home/input') import d2lzh1981 as d2l 一维梯度下降 证明:沿梯度反方向移动自变量可以减小函数值 泰勒展开: 代入沿梯度方向的移动量 \eta f^{\prime}(x) : f\left(x
墨明棋妙27
2022/09/23
3650
线性平稳时间序列
王燕老师的书上的符号和我们老师讲课的符号有一些出入,虽然在写的过程中有意识地去使用赵老师上课用的符号但难免会有所疏漏,这里将两本书上符号的对应关系列一下:
爱编程的小明
2022/10/31
1K0
线性平稳时间序列
numpy的random模块
For random samples from N(\mu, \sigma^2), use:
hankleo
2020/09/16
3970
相关推荐
【机器学习 | Adaboost原理&实现】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验