浅谈IDEA实用的Servlet模板

一、前言

不会再IDEA中创建模板点击这里看教程

二、这是模板内容,直接创建自己的模板复制用即可

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
#set( $packageName1 = "#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != '')${PACKAGE_NAME}.#end#parse('File Header.java')" )
#set( $packageName2 = "#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != '')${PACKAGE_NAME}/#end#parse('File Header.java')" )

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
/**
 * @auther LiuWeirui
 * @date ${DATE} ${TIME}
 */
 //更改@WebServlet中value的值,可以修改访问该Servlet文件的名称,规范value = "/visit name"
@WebServlet(name = "${NAME}", value = "/${NAME}")
public class ${NAME} extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public ${NAME}() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     * <p>
     * This method is called when a form has its tag value method equals to get.
     *
     * @param request  the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException      if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     * <p>
     * This method is called when a form has its tag value method equals to post.
     *
     * @param request  the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException      if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置请求和响应数据的编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        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>A Servlet</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("    This is ");
        out.print(this.getClass());
        out.println(", using the POST method");
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

    /**
    * web.xml配置文件书写
    * <servlet>
    *   <servlet-name>${NAME}</servlet-name>
    *   <servlet-class>$packageName1${NAME}</servlet-class>
    * </servlet>

    * <servlet-mapping>
    *   <servlet-name>${NAME}</servlet-name>
    *   <url-pattern>/$packageName2${NAME}</url-pattern>
    * </servlet-mapping>
    */
}

三、优点

1.设置好的请求和响应数据的编码

2.处理好的doGet()和doPost()方法

3.记录日期和创建者(创建者自己改,这里我用的本人的)

4.导入好的包和设置好的包名

5.设置好的@WebServlet属性,设置@WebServlet属性可以替代配置web.xml

6.设置好的配置web.xml文件的内容,复制好即可用

四、问题

web配置文件的内容有些问题,如图:

这是正常情况,在包下创建文件

这是缺省状态下创建的文件

<servlet-class>的内容在缺省状态下会出现PACKAGE_NAME.,这是以下这段代码导致的问题

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != '')${PACKAGE_NAME}.#end#parse('File Header.java')

这段代码貌似不能出现在注释内容里,不然就会出问题,在包中创建正常显示,但在缺省状态下就会显示PACKAGE_NAME

使用前还需自己修改

到此这篇关于浅谈IDEA实用的Servlet模板的文章就介绍到这了,更多相关实用的Servlet模板内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA中没有Mapper.xml模板选项的处理方法

    🎃New的时候没有Mapper.xml选项 在IDEA中导入模板即可 模板类容,复制粘贴即可 <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace=""> </mapper> 再New的时候就会有MybatisMapper选项了 到此这篇关于IDEA中没有Mapper.xml模板的文章就介绍到这了,更多相关idea Mapper.xml模板内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • java开发中使用IDEA活动模板快速增加注释的方法

    在java开发中,类.接口.方法,都需要进行注释,注释内容如图: 注释中的基本元素有:描述.作者.创建日期.可增加元素有:修改日期.修改内容.业务详情.参数列表与描述.返回值列表与描述等.使用IDEA增加活动模板,可快速在代码中加入注释,进入[文件]->[设置]->[编辑器]->[活动模板] 在user分类下新增模板为**,点击[编辑变量],增加注释中所使用到的变量即可.变量也可以根据下方函数内容指定.如下图: 设置完毕后,在代码中输入**后敲回车即可生成模板文本中的内容,注释则先输入/

  • IDEA中配置文件模板的添加方法

    1.前言 在Mybatis中需要创建的配置文件有sqlMapconfig.xml,映射文件xxxMapper.xml,而这些文件在idea中并没有提供,每次创建都需要去找对应的模板,很麻烦.可以采用配置模板文件解决这种问题 2.配置模板文件步骤 2.1选择file--settings--搜索找到File and Code Templates,在Files点击加号,填写Name,Extension 然后在下面将模板代码粘贴进去 粘贴完成后apply--OK即可 2.2在上面配置完成后,重新new

  • IDEA 自定义方法注解模板的实现方法

    1.使用效果 /** * 计算交易费用 * @Author wangjiafang * @Date 2019/9/11 * @param feeComputeVo * @return */ @PostMapping("/v1/fee_compute") public ApiResponse feeCompute(@RequestBody @Valid FeeComputeVo feeComputeVo){ return new ApiResponse(); } 2.设置步骤-添加自定义

  • idea的easyCode的 MybatisPlus模板的配置详解

    EasyCode 插件 EasyCode 插件 是一款根据表结构生成代码的很方便的Idea插件, 强烈推荐. 并且可以自定义模板来控制生成的类  我在使用的过程中发现一些问题,现在把解决办法记录下来, 我主要使用的是插件自带的mybatisplus模板 1. 生成的代码中有大量的get set方法 lombok 插件是个好东西, 我删除了模板中的get和set方法, 添加了lombok 的注解, ' 2. 如果数据库中的表都有前缀"t_" 导致生成的类名中都有一个前缀 "T&

  • 如何使用IDEA创建MAPPER模板过程图解

    Mybatis 是一款优秀的 ORM 框架,但是在 IDEA 工具使用时并未自带 MAPPER 文件模板,需要手工添加,接下来就一起在 IDEA 中创建一个 MAPPER 文件模板吧:1.打开 IDEA ,右键 new-->Edit File Template 2.点击 + ,输入此模板名称 3.黏贴 MAPPER 模板内容: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper P

  • IDEA代码规范插件P3C+代码注释模板配置方法

    IDEA配置阿里规范插件P3C 进入idea ->File -> Settings ->Plugins 到搜索框中搜索:Alibaba Java Coding Guidelines 下载安装插件,安装之后重启IDEA ,进入你的编辑器右击会发现多 了,检查规范和关闭检查. 检查会发现你这个java文件是否存在问题并给出提示如: 也常常遇到类是 class 或者方法上面缺少 javadoc注解 如: 所有的类都必须添加创建者信息 所有的抽象方法(包括接口中的方法)必须要用javadoc注释

  • IDEA Servlet 模板设置的方法

    IDEA Servlet 模板 1. 打开模板设置 2. 替换模板内容 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") @javax.servlet.annotation.WebServlet("/${Class_Name}") public class ${Class_Nam

  • idea 模板编程知识小结

    模板编程是idea的强大功能,也提高了开发人员的编程效率,比如输入main函数: public static void main(String[] args){ } 正常情况下我们需要每个字母挨个输入,但是这样输入太慢了,有了模板编程,我们只需要输入psvm或者main,然后回车,就会输出 public static void main(String[] args){ } ,是不是大大的提高了编码速度.这里对模板编程进行简单的介绍. 一.模板编程简介 模板编程的位置如下图:File-->sett

  • 浅谈IDEA实用的Servlet模板

    一.前言 不会再IDEA中创建模板点击这里看教程 二.这是模板内容,直接创建自己的模板复制用即可 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") #set( $packageName1 = "#if (${PACKAGE_NAME} && ${PACKAGE_NAME}

  • 浅谈Servlet转发到JSP页面的路径问题(必看)

    一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题. 2. 绝对路径概念 相对于contextPath(当前Web应用的上下文)的路径. 解决方案:超链接用绝对路径而不是相对路径.若/代表的是站点的根目录,在其前面加上contextPath. <a href="<%= request.getConte

  • 浅谈jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组

    由于现流行的javaWeb框架提倡前后端分离,比如在SpringMvc中已经很少写servlet的一些东西:目前 前端jsp中大多是一些纯html和js,很少用到jstl的一堆东西,后端也仅仅处理一些前端的post.get请求或页面跳转,无须以往繁琐的xml路径映射和filter过滤. 不过有时也会用到servlet作用域中的一些东西,比如某个固定的值.上下文路径等等~,不过这些东西大多数也仅限于取值而不是设置值(或对象),所以sun给了一个非常简洁的取值方式:C标签! 下面将简述下C标签的一些

  • 浅谈servlet中的request与response

    在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:

  • 浅谈JSP与Servlet传值及对比(总结)

    JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达. JSP编译后是"类servlet". Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来. 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件.JSP侧重于视图,Servlet主要用于控制逻辑. 本篇从以下四个方面探讨下JSP与Servlet的传值问题: 一.JSP传值给Servlet JSP传值给Se

  • 浅谈Servlet开发技术基础

    一.Servlet概述 1.sun公司提供的动态web资源开发技术.本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便服务器能够调用. 2.开发Servlet的两个步骤 *实验:Servlet的快速入门 (1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet) package cn.itheima; import java.io.*; import javax.servlet.*; public class First

  • 浅谈ajax在jquery中的请求和servlet中的响应

    在jsp中,首先,你需要导入jquery的架包: 获取可返回站点的根路径: <% String path = request.getContextPath(); %> 在jquery中写ajax请求: <script type="text/javascript"> $(function(){ $(".B").click(function(){ $.ajax({ type: "GET", //对应servlet中的方法 ur

  • 浅谈Django自定义模板标签template_tags的用处

    自定义模板标签,过滤器.英文翻译是Customtemplatetagsandfilters.customfilter自定义过滤器今天不在我的记录范围之内,以后用到再看官方文档也不迟. **问题1:**customtemplatetags到底长啥样? customtemplatetags-github Manytemplatetagstakeanumberofarguments–stringsortemplatevariables–andreturnaresultafterdoingsomepro

  • 浅谈layui使用模板引擎动态渲染元素要注意的问题

    摸索这个模板引擎碰到的问题,分享一下 本人在实现使用laytpl实现动态渲染菜单,来减少静态代码时候碰到了,元素是成功渲染出来,但是折叠动画效果和点击事件都失效了,然后仔细看了一下官方文档 官方文档原话:跟表单元素一样,很多时候你的页面元素可能是动态生成的,这时element的相关功能将不会对其有效,你必须手工执行 element.init(type, filter)方法即可.注意:2.1.6 开始,可以用 element.render(type, filter); 意思是我们动态渲染页面的时候

  • 浅谈Laravel模板实体转义带来的坑

    问题 最近在Laravel项目中用到了百度编辑器,插入到数据库我保存的是原始的html标签代码,没有进行实体转义.然后在修改的时候,需要读取到数据库中的数据,进行回显,这时候竟然在编辑器里面显示html标签代码<p>123</p>,这让我很尴尬,因为以前在tp框架中也是这样写的,但是没有问题. 搜索之路 在知道问题之后,我就开始找百度了,因为一开始的时候我并不知道是框架的原因,我以为是百度编辑器版本的原因,然后收到了许多答案,都是围绕着htmlentities和html_entit

随机推荐