精华内容
下载资源
问答
  • 编写一个servlet
    千次阅读
    2021-10-14 16:30:27
    package Displaytime;
    import java.util.*;
    import java.text.*;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.text.SimpleDateFormat;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.catalina.connector.Response;
    /*题目:
      编写一个servlet程序实现显示服务器当前日期的时间
    */
    
    @WebServlet("/displaytime")
    public class displaytime extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public displaytime() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    			response.setContentType("text/html;charset=utf-8");//设置服务器返回页面编码方式	
    			PrintWriter out = response.getWriter();
    			Date datetime = new Date(System.currentTimeMillis());
    			SimpleDateFormat time = new SimpleDateFormat("yyyy年MM月dd日-HH时mm分ss秒");
    			out.println(time.format(datetime));
    	}
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    	
    	public void destroy() {
    		super.destroy();
    	}
    }
    
    

    SimpleDateFormat类在java.text包中。SimpleDateFormat是一个具体的类,用以区域设置敏感的方式格式化和解析日期。它允许格式化(日期文本),解析(文本日期)和归一体

    Date类在java.util包中。
    构造方法详细信息
    public Date()
    分配一个 Date对象并对其进行初始化,以便它表示分配的时间,测量到最近的毫秒。
    另请参见:
    System.currentTimeMillis()

    更多相关内容
  • 编写一个Servlrt程序编写Servlet映射配置Tomcat启动Tomcat服务器测试 JavaWeb——编写一个Servlet程序 1.Servlet简介 Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。 狭义的Servlet是...

    JavaWeb——编写一个Servlet程序

    1.Servlet简介

    • Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。

    • 狭义的Servlet是指Java语言实现的一个接口

    • 但一般情况下,我们把实现了Servlet接口的Java程序叫做Servlet

    • 开发Servlet程序的两个步骤:

    • 编写一个类,实现Servlet接口

    • 把开发好的Java类部署到web服务器中

    • Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:

      • 性能明显更好。
      • Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
      • Servlet 是独立于平台的,因为它们是用 Java 编写的。
      • 服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
      • Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。

    2.HelloServlrt

    1.建一个普通的Maven项目

    建一个普通的Maven项目,作为父项目,并删掉里面的src目录

    点我查看建立方法

    在主项目里面添加maven依赖:

     <dependencies>
           <dependency>
               <groupId>javax.servlet</groupId>
               <artifactId>javax.servlet-api</artifactId>
               <version>4.0.1</version>
           </dependency>     
    
           <dependency>
               <groupId>javax.servlet.jsp</groupId>
               <artifactId>javax.servlet.jsp-api</artifactId>
               <version>2.3.3</version>
           </dependency>
       </dependencies>
    

    2.建一个子项目

    在主项目里面建一个子项目(MavenWeb项目)

    右键主项目–>new–>module

    点我查看建立方法

    在这里插入图片描述

    关于Maven中父子项目的理解:

    父项目的核心配置文件中会有

     <modules>
            <module>servlet-01</module>
        </modules>
    

    子项目的核心配置文件中会有

    <parent>
        <artifactId>javaweb-01-servlet</artifactId>
        <groupId>com.cheng</groupId>
        <version>1.0-SNAPSHOT</version>
      </parent>
    

    父项目中的jar包子项目可以直接使用,但子项目中的jar包父项目不能使用

    3.Maven环境优化

    1.替换子项目中web.xml配置文件的内容为最新的

    方法:把web.xml原有的内容都删掉,然后加入下面代码,就替换成功了。

    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0"
             metadata-complete="true">
    </web-app>
    

    2.补全maven子项目的结构

    在子项目–>src–>main下建立java文件和resources文件,并做好功能标记

    java文件:放置java源代码

    resources文件:放置一些配置文件
    在这里插入图片描述

    点我查看功能标记方法

    4.编写一个Servlrt程序

    1.编写一个普通类
    2.实现servlet接口

    package com.cheng.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    /**
     * @User len
     * @Classname HelloServlet
     * @Project javaweb-01-servlet
     * @Description TODO
     * @Author wpcheng
     * @Create 2021-02-03-11:28
     * @Version 1.0
     */
    public class HelloServlet extends HttpServlet {
    
        //由于get或者post方法只是请求实现的不同方式,可以相互调用,因为业务逻辑都一样
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
            PrintWriter writer = resp.getWriter();
            writer.println("第一个servlet程序");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doGet(req, resp);
        }
    
    }
    
    

    编写Servlet映射

    为什么需要映射:

    我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需要给它一个路径,以便浏览器访问。

    在web.xml配置文件的web-app标签内添加下面代码

     <!--注册servlet-->
        <servlet>
            <servlet-name>hello</servlet-name>
            <servlet-class>com.cheng.servlet.HelloServlet</servlet-class>
        </servlet>
    <!--Servlet映射的请求路径-->
        <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    
    

    配置Tomcat

    配置时要注意项目的发布路径

    在这里插入图片描述

    点我查看Tomcat配置方法

    启动Tomcat服务器测试

    这个是webapp文件下的index.jsp文件的页面

    在这里插入图片描述

    在路径后面加上我们的servlect映射路径后,浏览器就可以访问到Helloservlect的页面了

    在这里插入图片描述

    展开全文
  • 编写一个servlet,实现统计网站被访问次数的功能 package ch5; import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet....

    编写一个servlet,实现统计网站被访问次数的功能

    package ch5;
    
    import java.io.*;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletContext;
    
    public class MyServlet extends HttpServlet {
    	//定义times静态变量
    	private static int times=0;
    	 
    	// 加载Servlet
    	public MyServlet() {
    		super();
    	}
    	//初始化Servlet
    	public void init() throws ServletException {
    		// Put your code here
    	}
    
    	//销毁Servlet
    	public void destroy() {
    		super.destroy(); // Just puts "destroy" string in log
    		// Put your code here
    	}
    	
    	//累加方法
    	public void add(){
    		times++;
    	}
    	
    	//doGet方法
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		response.setContentType("text/html;charset=UTF-8");
    		PrintWriter out = response.getWriter();
    		
    		//调用累加方法使得页面刷新时times能实时累加
    		add();
    		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("当前页面被访问了");
    		out.print("<font color=red size=20>"+times+"</font>次");
    		out.println(", using the GET methods");
    		out.println("  </BODY>");
    		out.println("</HTML>");	
    	}
    	//doPost方法
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		//只运行doGet方法
    			doGet(request,response);
    	}
    
    	
    }
    
    
    展开全文
  • 如何编写一个Servlet

    千次阅读 2019-10-07 21:54:54
    2.怎么按照JavaEE的规范编写一个servlet 关键字 作用 说明 Servlet 接口 有五个抽象方法 GenericServlet 抽象类 有一个抽象方法 HttpServlet 抽象类 没有抽象方法 ...

    Servlet day2

    1.什么是servlet

    servlet本身就是一种java类,这种java类可以提供web形式的访问(Java EE 规范)

    2.怎么按照JavaEE的规范编写一个servlet

    关键字作用说明
    Servlet接口有五个抽象方法
    GenericServlet抽象类有一个抽象方法
    HttpServlet抽象类没有抽象方法

    HttpServlet-继承->GenericServlet-实现->Servlet接口

    所以编写一个servlet,有三种方式

    第一种方式:
    写一个类去实现接口servlet
    最重要的是实现接口中的service方法
    这个方法就是我们在访问servlet的时候被tomcat服务器调用的


    第二种方式:
    写一个类去继承父类GenericServlet
    抽象类GenericServlet里面有一个抽象方法service,这个方法是servlet接口中的方法,所以GenericServlet只实现了Servlet接口中的四个抽象方法,还剩下这个service没有实现。同时,GenericServlet类中不但实现了Servlet接口中的init方法,而且还重载了一个无参的init()方法

    源代码中两个init方法的实现:

    			//tomcat服务器默认调用的是这个init方法
    		    @Override
    			public void init(ServletConfig config) throws ServletException {
    				this.config = config;
    				this.init();
    			}
    			//用户需要重写的是这个init()方法
    			public void init() throws ServletException{
    				// NOOP by default
    			}
    

    第三种方式:
    写一个类去继承父类HttpServlet
    HttpServlet是一个抽象类,但是没有任何抽象方法
    HttpServlet类中自定义了很多doXxxx方法,每一种方法都对应了浏览器发送请求的方法,一般常用的浏览器发请求方式为get和post,这两种方式分别对应了这个类中的doGet方法和doPost方法。
    HttpServlet类中,有两个service方法

    		//这个service方法Servlet接口中的
    		void service(ServletRequest req, ServletResponse res){...}
    		
    		//这个service是HttpServlet中重载的方法
    		void service(HttpServletRequest req, HttpServletResponse resp){...}
    		
    
    		源代码中俩个service方法的实现:
    		//实现Servlet接口中的service方法
    		@Override
    		public void service(ServletRequest req, ServletResponse res)
    			throws ServletException, IOException {
    
    			HttpServletRequest  request;
    			HttpServletResponse response;
    
    			try {
    				request = (HttpServletRequest) req;
    				response = (HttpServletResponse) res;
    			} catch (ClassCastException e) {
    				throw new ServletException("non-HTTP request or response");
    			}
    			//调用重载之后的service方法
    			service(request, response);
    		}
    
    		
    		//HttpServlet类中重载的service方法
    		protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
    
    			String method = req.getMethod();
    
    			if (method.equals(METHOD_GET)) {
    				long lastModified = getLastModified(req);
    				if (lastModified == -1) {
    					// servlet doesn't support if-modified-since, no reason
    					// to go through further expensive logic
    					doGet(req, resp);
    				} else {
    					long ifModifiedSince;
    					try {
    						ifModifiedSince = req.getDateHeader(HEADER_IFMODSINCE);
    					} catch (IllegalArgumentException iae) {
    						// Invalid date header - proceed as if none was set
    						ifModifiedSince = -1;
    					}
    					if (ifModifiedSince < (lastModified / 1000 * 1000)) {
    						// If the servlet mod time is later, call doGet()
    						// Round down to the nearest second for a proper compare
    						// A ifModifiedSince of -1 will always be less
    						maybeSetLastModified(resp, lastModified);
    						doGet(req, resp);
    					} else {
    						resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
    					}
    				}
    
    			} else if (method.equals(METHOD_HEAD)) {
    				long lastModified = getLastModified(req);
    				maybeSetLastModified(resp, lastModified);
    				doHead(req, resp);
    
    			} else if (method.equals(METHOD_POST)) {
    				doPost(req, resp);
    
    			} else if (method.equals(METHOD_PUT)) {
    				doPut(req, resp);
    
    			} else if (method.equals(METHOD_DELETE)) {
    				doDelete(req, resp);
    
    			} else if (method.equals(METHOD_OPTIONS)) {
    				doOptions(req,resp);
    
    			} else if (method.equals(METHOD_TRACE)) {
    				doTrace(req,resp);
    
    			} else {
    				//
    				// Note that this means NO servlet supports whatever
    				// method was requested, anywhere on this server.
    				//
    
    				String errMsg = lStrings.getString("http.method_not_implemented");
    				Object[] errArgs = new Object[1];
    				errArgs[0] = method;
    				errMsg = MessageFormat.format(errMsg, errArgs);
    
    				resp.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, errMsg);
    			}
    		}
    

    3.servlet的生命周期

    3.1 servlet是单例,在web项目运行期间,一个servlet只会创建一个对象

    web项目本身就需要在多线程的环境中运行,tomcat服务器会提供这样的多线程环境,当浏览器发送一个请求,tomcat接收到这个请求之后会开启一个线程去处理这个请求

    在这种环境下,由于servlet是单例,所以在servlet中声明的成员变量,就会有线程安全的问题。

    所以我们应该尽量少的在servlet中定义成员变量

    3.2 默认情况下

    servlet对象是在用户第一次访问它的时候,由tomcat服务器来创建的(可以通过配置进行改变)。

    3.3 servlet对象创建成功之后

    tomcat服务器还会调用servlet里面的init(ServletConfig config),这个有参的init方法会调用无参的init()方法,程序员就可以重写这个无参的init()方法,对创建好的servlet对象进行初始化操作。

    3.4 如果用户要访问这个servlet对象

    那么tomcat服务器会调用这个servlet对象中的service方法,只不过service方法中又进行了方法的层层调用,最后调用到了我们重写的doGet或者是doPost方法

    3.5 当servlet对象被销毁的时候

    tomcat服务器会调用servlet里面的destory方法,程序员就可以重写这个方法,表示当对象销毁的时候需要做哪些额外的处理
    servlet对象被销毁的情况
    1.服务器【正常】关闭的时候
    2.服务器重新加载web项目的时候(reloading)

    3.6 可以通过修改web.xml文件中的配置,去改变servlet对象创建的时间

    只要在<servlet>标签中,添加一个子标签<load-on-startup>就可以了
    <load-on-startup>标签表示当前这个servlet需要在启动tomcat服务器期间就被创建出来

    <load-on-startup>标签里面需要放一个正整数,数值的大小可以决定servlet对象被创建的先后顺序,数值越小就越先被创建。(如果有多个servlet对象需要在tomcat启动期间被创建的话)

    4.Servlet接口中的方法(共有五个方法)

    	//初始化servlet对象的时候被调用
    	void 	init(ServletConfig config)
    
    	//销毁servlet对象的时候被调用
    	void 	destroy()
    
    	//访问servlet对象的时候被调用
    	void 	service(ServletRequest req, ServletResponse res)
    	
    	//返回servlet相关信息,比如作者、版本、版权等
    	//父类中(GenericServlet)默认返回一个空字符串 ""
    	//如果需要的话,程序员可以自己重写这个方法
    	String 	getServletInfo()
    
    	//返回ServletConfig对象
    	ServletConfig 	getServletConfig()
    

    5.ServletConfig接口中的方法(共有四个方法)

    ServletConfig接口的实现类对象,表示一个servlet在web.xml文件中的配置信息

    	//返回servlet在web.xml文件中所配置的名字
    	//也就是<servlet-name>这个标签中的值
    	String 	getServletName()
    
    	//获得在web.xml中所配置的指定名字的参数值
    	//在web.xml可以通过<init-param>标签给servlet传参
    	String 	getInitParameter(String name)
    
    	//获得给当前servlet传的所有参数的名字
    	Enumeration 	getInitParameterNames()
    
    	//获得ServletContext类型对象
    	//ServletContext是web项目中非常重要的一个类型对象
    	ServletContext 	getServletContext()
    

    6.servlet的访问

    使用web.xml文件里面的这个<url-pattern>标签映射的路径,来访问servlet

    6.1 在浏览器的地址栏中,直接输入servlet映射的路径来访问

    这时候是get方式的访问,servlet中的doGet方法最终会被调用

    6.2 在页面中,可以使用超链接来访问servlet

    这时候是get方式的访问,servlet中的doGet方法最终会被调用

    6.3 在页面中,可以使用表单发送请求去访问servlet

    这时候默认情况下是get方式访问,但是可以通过表单里的属性值进行设置为get或者post方式

    6.4 将来还可以使用javascript或者在ajax中发请求访问servlet

    这个时候也可以进行设置使用get方式还是post方式进行访问servlet

    6.5 其他的情况:

    还可以使用标签语言来访问servlet

    7.get方式的访问和post方式的访问

    get方式访问
    浏览器地址栏直接输入地址访问
    超链接访问
    <image src="">访问图片
    外部js文件的引入
    外部css文件的引入
    表单提交数据method=“get”
    在javascript代码中访问
    在ajax中访问
    使用jsp相关标签访问


    post方式访问
    表单提交数据method=“post”
    ajax中设置本次请求为post方式


    在http协议规范中,定义了四种访问方式(常见的)
    get(查) post(改) put(增) delete(删)


    http协议规范下的请求格式(分为四部分)
    1部分: 请求行
    2部分: 请求头部/消息报头
    3部分: \r\n
    4部分: 请求正文


    get方式传参数 参数在uri后面(uri和url的区别)
    GET /hello.html?name=tom HTTP1.1
    key: value
    key: value
    key: value

    \r\n


    post方式传参 参数在请求正文中
    POST /hello.html HTTP1.1
    key: value
    key: value
    key: value

    \r\n
    name=tom


    • get和post的【传参】的安全性
      get方式的参数由于是在地址栏中显示的,所以安全性低一些,post传参的时候参数在请求正文中,相对会安全一些。但是真正重要的数据在传的过程中还会更换协议http–>https,比如在网上支付的过程中

    • get和post在传参过程中参数长度的限制
      get方式传参,参数长度是要看浏览器对地址栏中字符长度的限制,也就是要看浏览器对url地址的长度限制,我们只是把参数放到url后面了。url?参数=值
      post方式参数,参数长度是要看服务器一次性最多能够接受并且处理多少数据

    8.在servlet中,接受客户端传的参数

    不管客户端是post方式还是get方式传参,只是参数存放的位置在传输过程有所变化,但是对于servlet接收参数来讲,俩种情况都是一样的接收

    下面的测试是在这样的传参中进行的
    http://127.0.0.1:8989/web_servlet/ParamServlet?name=tom&age=20&like=0&like=1

    8.1 接收单一的值(一个参数名对应一个值)

    		String name = request.getParameter("name");
    		String age = request.getParameter("age");
    		System.out.println(name);
    		System.out.println(age);
    

    8.2 一个参数名对应多个值(比如多选框)

    		String[] like = request.getParameterValues("like");
    		System.out.println(Arrays.toString(like));
    

    8.3 获得本次传参中的所有参数名

    		Enumeration<String> names = request.getParameterNames();
    		while(names.hasMoreElements()){
    			String str = names.nextElement();
    			System.out.println(str);
    		}
    
    	打印结果:
    	name
    	age
    	like
    

    8.4 获得本次传参中的所有参数及对应的值

    		Map<String, String[]> map = request.getParameterMap();
    		for(String key:map.keySet()){
    			System.out.println(key+" : "+Arrays.toString(map.get(key)));
    		}
    
    	打印结果:
    	name : [tom]
    	age  : [20]
    	like : [0, 1]
    

    9.客户端传参过程中,出现中文乱码

    9.1 get方式传参,中文乱码

    需要在tomcat服务器中server.xml文件中进行配置

    	在<Connector>中加入新的属性URIEncoding="XXX"
    	<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8989" protocol="HTTP/1.1" redirectPort="8443"/>
    

    9.2 post方式传参,中文乱码

    在使用request获取参数【之前】,先把request中的编码进行设置

    		request.setCharacterEncoding("UTF-8");
    		String name = request.getParameter("name");
    		System.out.println(name);
    

    9.3 servlet中使用io流写数据到浏览器,浏览器里面显示中文乱码

    http协议规范中响应的格式为:
    1部分 响应状态行
    2部分 响应头部/消息报头
    3部分 \r\n
    4部分 响应正文


    如果响应头部信息中没有设置编码,那么浏览器会默认使用简体中文(GBK)来解析响应中的内容


    所以在使用io流之前,需要设置一下response中的编码,同时还要告诉浏览器本次响应内容的编码是什么
    //设置response中的编码为UTF-8
    response.setCharacterEncoding(“UTF-8”);
    //设置响应头部,告诉浏览器响应内容编码为utf-8
    response.setContentType(“text/html;charset=utf-8”);

    9.4 Unicode(字符集)和UTF-8(编码规则)

    Unicode符号范围 | UTF-8编码方式
    十六进制 二进制
    0000 0000-0000 007F | 0xxxxxxx
    0000 0080-0000 07FF | 110xxxxx 10xxxxxx
    0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
    0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

    展开全文
  • 3.编写servlet的java文件 在main文件夹下创建java文件夹并右键 Mark directory as 选择将java文件夹变为如图所示蓝色文件夹 4.编写HelloServlet public class HelloServlet extends HttpServlet { private static...
  • package cn.itcast.servlet; import java.io.IOException; import java.io.PrintWriter; ...import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax
  • 编写一个Servlet,实现统计网站被访问次数的功能 1弄清楚如何储存你访问的记录的次数这题就很好解决了 (a)getAttribute(java.lang.String name) 返回具有给动名字的servlet container 的属性,或者当没有具有所给...
  • 手动编写一个Servlet类并运行

    千次阅读 2019-06-15 15:19:56
    手动编写一个Servlet类需要以下几步: (1)在D:\apache-tomcat-7.0.77\webapps\目录下新建一个WEB工程FirstProject,目录结构如下: (2)在classes目录下放置Java源文件FirstProject: package it.cn; ...
  • 1.2 在IDEA中使用Maven编写一个Servlet项目(IDEA+Maven)

    千次阅读 多人点赞 2020-03-07 16:36:22
    1.2 在IDEA中使用Maven编写一个HelloMaven程序
  • 在<body></body>体中进行主要代码编写,实现创建表单功能,以下是index.jsp文件中的全部代码 *" pageEncoding="UTF-8"%> String path = request.getContextPath(); String basePath = request.getScheme()+":/...
  • Idea编写一个Servlet

    千次阅读 2016-11-08 20:10:51
    首先用idea创建一个project,步骤如下:1.在idea中点击file-new-project,出现如下图所示: 注意勾选上web application,然后点击next2.给project命名为MyFirstServlet,点击finish:3.此时project创建成功,在src...
  • 在src文件夹下创建了一个servlet类,具体代码如图所示 输出结果为: 请大神指点,怎么让它整齐排列啊!
  • 编写一个servlet

    2018-03-22 22:29:06
    servlet: 动态的web开发技术,本质就是一个类,运行在服务器端的一个java...编写一个servlet步骤: 1.编写一个类 a.继承HttpServlet b.重写doGet或者doPost方法 2.编写配置文件(web-inf/web.xml) a.注册ser...
  • 1.建立一个包文件 2.建一个类文件 3.实现servlet接口继承HttpServlet的jar包 在这里重写他人抽象类就可。 按下ctrl+o 就可显示重写的类别 2. 之后就是下面这样 这是代码 import javax.servlet....
  • 第一步新建一个Maven项目(普通的Java项目) 第二步添加Web模块 上一步完成以后,项目结构如下 第三步创建index.jsp 在web目录下创建一个index.sp文件 在WEB-INF目录下也创建一个index.jsp文件 目录结构如下 文件...
  • import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class xs2 extends ...
  • 编写一个 Servlet ,当用户请求该 Servlet 时,显示用户于哪年哪月哪日几时几分几秒从哪个 IP 地址连接至服务器。 原创文章 698获赞 1706访问量 78万+ 关注 私信 展开阅读全文 作者:进阶的JFarmer
  • ~~ 特别注意:如若对以下内容所使用的工具等不甚了解,本人已在部分内容旁边做了注脚进行说明,可自行...1、新建一个普通Maven1项目 五、项目结构 六、详细代码解析 七、测试及结果 八、说明 Maven: ↩︎ ...
  • 5、第一个Servlet类 1、新建项目 2、填写项目名称(MyFirstServlet) 3、项目创建成功后的目录初始结构 4、配置 (1)在WEB-INFO目录下创建classes和lib目录 classes:用于存放编译后...
  • 创建一个Servlet项目(简单示例)

    千次阅读 2022-02-11 13:36:10
    · 读取HTTP请求,Servlet解析这个请求字符串,生成一个HttpServletRequest对象 · 根据请求对象生成一个HttpServletResponse对象(表示响应)。根据请求生成响应,这个过程,就是初始化阶段注册的类里面的代码完成...
  • JavaWeb | 七个步骤,完成一个servlet的hello world程序

    千次阅读 多人点赞 2022-07-05 11:59:36
    Servlet 就是 Tomcat 这 HTTP 服务器提供给 Java 的组 API,来完成构建动态页面这任务Servlet 主要做的工作:简而言之,Servlet组 Tomcat 提供的 API, 让程序猿自己写的代码能很好的和 Tomcat 配合起来,...
  • Servlet 编写三种方式

    千次阅读 2021-06-13 11:28:45
    文章目录Servlet编写方式1. 第种:实现Servlet接口,接口中的方法必须全部实现。2. 第二种:继承GenericServlet,3. 第三种:继承HttpServle Servlet编写方式 我们在实现Servlet功能时,可以选择以下三种方式: 1....
  • 1、 理解Servlet文件各部分所表示的含义,掌握如何编写Servlet; 2、 学习如何部署与运行Servlet,练习使用注释法和配置文件Server.xml进行Servlet的部署和发布。 3、 熟悉Html文件的表单知识,学会进行表单编程 ...
  • Web实验 Servlet技术及应用

    千次阅读 2021-04-22 14:41:56
    (3)用户在HTML页面中添写一个表单并提交. GET与POST两种请求方式有什么区别?分别适用于什么情况? (1)GET方法用来检索资源.它的含义是”获得由该URI标识的资源”.GET方法请求的资源通常是静态资源.使用GET也可以...
  • 手动编写一个servlet部署在tomcat上

    千次阅读 2017-04-14 23:04:46
    编写一个简单的HelloWorld.javapackage com.amarsoft.exercise;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.ServletRequest; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 225,370
精华内容 90,148
关键字:

编写一个servlet