技术标签: IDE 如何在创建servlet3.0
servlet3.0随着Java EE6规范一起发布,那么如何在MyEclipse中创建3.0版的servlet呢?
1、启动MyEclipse,获得下图:
2、点击上图“File”工具栏,获得下图:
3、将鼠标移到“New Alt+Shift+N”,然后再选中并点击红框框定的“Web Project”选项,获得下图:
4、对上图进行如下操作:
a、"Project Name"(蓝框框定处)输入创建的项目名;此处输入test;
b、选中“Java EE 6.0”,注意:有些MyEclipse没有这个选项,这是其版本低的原因造成的(我这里使用的是MyEclipse 10);
c、完成上面两步操作后直接点击“Finish”按钮即可;
通过上述a、b和c三步,获得下图:
5、通过上图三处被红框框定文字可以发现该工程已经是servlet3.0版本的了。选中新建工程中src,鼠标右键——>鼠标移至“New”,此时获取下图:
6、选中并点击上图中被红框框定的“Servlet”选项,此时获取下图:
7、对上图进行如下操作:
a、"Package"(红框框定处)输入所创建servlet的包名;此处输入com.ghj.packageofservlet;
b、"Name"(蓝框框定处)输入所创建servlet的名;此处输入TestServlet;
c、完成上面两步操作后直接点击“Next”按钮即可;
通过上述a、b和c三步,获得下图:
8、对上图进行如下操作:如果要使用Servlet3.0新特性——采用注释的方式该servlet接受的请求路径,则取消上图被红框框定的复选框(取消后web.xml文件中将不会含有创建的Servlet的一些配置信息,此处取消该复选选中项);否则直接点击“Finish”按钮即可。至此3.0版的Servlet创建成功。将该Servlet修改为如下代码:
package com.ghj.packageofservlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/TestServlet")//标明本servlet只接收TestServlet请求
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = -4016775927444534220L;
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!doctype html public \"-//w3c//dtd html 4.01 transitional//en\">");
out.println("<html>");
out.println("<head><title>超链接请求显示结果</title></head>");
out.println("<body>");
out.print("<center style=\"margin-top:20%;\"><font style=\"font-weight:bold;font-size:30pt;color:red;\">恭喜你,请求成功!本响应来自于Servlet。</font></center>");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
}
9、将创建工程时已创建的index.jsp作如下修改:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试首页</title>
</head>
<body>
<a href="<%=basePath%>TestServlet">测试</a>
</body>
</html>
10、启动Tomcat,发布该项目;在浏览器中输入http://127.0.0.1:8080/test/,点击回车键(Enter键),获得下图:
11、点击上面“测试”(红框框定处)超链接,,获得下图:
注意:
a、有些童鞋可能会出现这样的问题:我的项目使用Tomcat发布了,其中Servlet使用了注释的方式接收请求,可是当我点击“测试”超链接时报错,呵呵呵,开始我也遇到了,研究发现如果Tomcat版本小于7.0(不包括7.0),发布以后的项目都是不好使的——Tomcat的版本要7.0(包括7.0)版本以上。
【0分下载资源】
刚刚,我用三行代码创建了一个虚拟主播刚刚,我花了10分钟,写了三行代码创建一个具有明星脸的虚拟主播先看看效果:语音播报虚拟主播2实现简易的虚拟数字人非常简单,需要调用三个模型:(1)First Order Motion(表情迁移)(2)Text to Speech(文本转语音)(2)Wav2Lip(唇形合成)。具体技术步骤如下:1,把图像放入First Order Motion模型进行面部表情迁移,让虚拟主播的表情更加逼近真人,既然定位是一个主播,那表情都参考当然是
8月29日,“ABC SUMMIT 2019百度云智峰会”在北京国家会议中心举行。此次大会以“AI工业化,加速产业智能”为主题。百度副总裁、智能云事业群组总经理尹世明表示, 第四次工业革命正在中国发生,这场智能革命正在从基础建设阶段跃升到工业化阶段。百度智能云ABC将助推AI工业化时代来临,加速产业智能化,成就智能中国。(百度副总裁、智能云事业群组总经理尹世明:人工智能正在进入工业化进程)...
目录 高阶自定义View --- 粒子变幻、隧道散列、组合文字 效果视频 & 图片 概述 原理及其难点 部分代码简述 源码地址 高阶自定义View --- 粒子变幻、隧道散列、组合文字作者:林冠宏 / 指尖...
1、cactiCacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。 简单的说 Cacti 就是一个 PHP 程序。它通过使用 SNMP 协议获取远端网络设备和相关信息,(其实就是使用 Net-SNMP 软件包的 snmpget 和 snmpwalk 命令获取)并通过 RRDTOOL 工 具绘图,通过 PHP 程序展现出来。我们...
一,Python介绍1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展...
Python + opencv + mediapipe 实现手势识别MediaPipe是一款由 Google Research 开发并开源的多媒体机器学习模型应用框架。在谷歌,一系列重要产品,如 YouTube、Google Lens、ARCore、Google Home 以及 Nest,都已深度整合了 MediaPipe。https://google.github.io/mediapipe/环境安装编辑器:VS code依赖组件:opencv 、mediapipepython -m pip
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); // setWindowFlags(Qt::FramelessWindowHint); //color 设定前景色,就是字体的颜色
别整什么花里胡哨的,先去吧官方文档看一遍。首先把准备的东西准备好,这里加上一个大佬写的的连接:https://blog.csdn.net/vbirdbest/article/details/80635194前期准备工作所需要的都在这里了。登录上蚂蚁金服,点开发中心->网页&移动应用去看一下你申请的应用状态是不是已上线。点击查看详情:在左边导航栏找到应用信息,点...
为什么需要架构可视化随着企业进行微服务架构改造,系统架构复杂度越来越高,架构变化日益频繁,微服务改造后的实际架构模型可能与预期已经产生了巨大差异,架构师或系统运维人员很难准确记忆所有资源实例的构成和交互情况;其次,系统架构在动态演化过程中可能引入了一些不可靠的因素,比如弱依赖变强依赖、局部容量不足、系统耦合过重等,给系统的稳定性带了极大的安全隐患。所以我们每次在面对系统改造、业务大促以及稳定性治...
模拟-第十届蓝桥杯省赛C++B组-特别数的和题目:小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示满足条件的数的和。数据范围1≤n≤...
numpy.roll官方链接对于向量:实现向左和向右的循环位移示例:import numpy as npmat= np.array([1,2,3,4,5,6])print(np.roll(mat,-1))print(np.roll(mat,1))正数是向index大的方向循环位移,负数是向index小的方向循环位移:[2 3 4 5 6 1][6 1 2 3 4 5]对于矩阵:不指定axis,则相当于先把矩阵flatten,然后进行循环位移,最后再reshape到原来的形状