JavaWeb基础——Servlet入门1

一、什么是Servlet?

Servlet(Server Applet)服务器小程序,主要功能是生成动态web内容,Servlet是J2EE的重要组成部分。

下图可理解为servlet的处理示意:

二、Tomcat安装及与Eclipse联动

①安装:安装JDK——>安装tomcat(与JDK版本对应)——>安装Tomcat解压

②联动Eclipse:

  1. 设定JDK
  2. 设定Tomcat[Windows-show view - server]
  3. server location-选择2 use tomcat installation -deploy path-apache下的webapp

三、第一个servlet程序:

首先在eclipse建立web工程,然后src下建立servlet类继承servlet,重写Service方法,然后配置web.xml,最后调用。

代码如下图示例:

web.xml:

扫描二维码关注公众号,回复: 14850681 查看本文章
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>FirstServlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>default.htm</welcome-file>
  </welcome-file-list>
  
  <!-- 声明servlet -->
  <servlet>
  <!-- Servlet别名 -->
  	<servlet-name>first</servlet-name>
  	<servlet-class>com.imooc.servlet.FirstServlet</servlet-class>
  </servlet>
  
  <!-- 将Servlet和URL绑定 -->
  <servlet-mapping>
  	<servlet-name>first</servlet-name>
  	<url-pattern>/hi</url-pattern>
  </servlet-mapping>
</web-app>

servlet类:

package com.imooc.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.security.auth.message.callback.PrivateKeyCallback.Request;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FirstServlet extends HttpServlet{

	@Override
	protected void service(HttpServletRequest rerquest, HttpServletResponse response) throws ServletException, IOException {
	String name =rerquest.getParameter("name");
	String html="<h1 style='color:red'>hi,"+name+"!</h1><hr/>";
	PrintWriter out = response.getWriter();
	out.println(html);//将html返回给浏览器
	System.out.println("返回给浏览器的响应数据为"+html);
	}

}

图解执行流程:

四、web.xml作用(参考:web.xml文件的作用_hidetou的博客-CSDN博客_web.xml的作用)

 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的,web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。

五、webapp和webcontent又什么区别?

看视屏创建的都是webcontent,我的却是webapp,初步认为仅仅是名称不同,使用上没区别,后序学习到相关的再做更新。

六、servlet开发步骤

  1. 创建servlet类,继承HttpServlet
  2. 重写service方法,编写程序代码
  3. 配置web.xml,绑定URL。

七、servlet访问方法:

  • http://IP地址:端口/context-path/url-mapping

远程访问使用IP地址,本地访问使用localhost(127.0.0.1)

  • context-path称为“上下文路径”,默认为工程名称

八、Servlet获取 参数的方法

请求参数:

  • 请求参数是指浏览器通过请求向Tomcat提交的数据
  • 请求参数通常是用户输入的数据,待Servlet进行处理
  • 参数名1=值1&参数名2=值2&参数名n=..

Servlet接受请求入参:

  • request.getParameter()-接收单个参数
  • request.getParameterValues() -接收多个同名参数

九、get和post请求

get的请求参数一般展示在url上,安全性较低,post在参数体,安全性高一点。所以get一般用于查询等安全性要求较低的查询工作,post用于用户注册,登录等或者高安全性要求的操作。

十、Servlet生命周期,

servlet生命周期分为5个阶段:

 当启动之后,web.xml就装载了servlet,然后当访问该Servlet时候,servlet就被创建,然后进行初始化,此时该Servlet就长期存在,调用时执行服务,最后关闭应用就销毁servlet。

十一、使用注解配置Servlet

如图,使用WebServlet注解之后就不需要再在web.xml配置,也可以正常访问:

package com.imooc.servlet;

import java.io.IOException;

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("/helloAnnotation")
public class Annotation extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.getWriter().println("<p>hello</p>");
	}
}

十二、启动时加载Servlet

首先是需要创建servlet类,其次是复写init方法!

例如方法一,配置web.xml使用<load-on-startup>设置启动加载。

package com.imooc.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class No1Servlet extends HttpServlet{
@Override
public void init() throws ServletException {
	System.out.println("正在导入数据");
}
}

web.xml:

<servlet>
  	<servlet-name>load</servlet-name>
  	<servlet-class>com.imooc.servlet.No1Servlet</servlet-class>
  	<load-on-startup>0</load-on-startup>
  </servlet>

方法二:利用注解@WebServlet(urlPatterns = "/unused",loadOnStartup = 3)

例如:

package com.imooc.servlet;

import java.io.IOException;

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 = "/unused",loadOnStartup = 3)
public class No3Servlet extends HttpServlet{
	@Override
	public void init() throws ServletException {		// TODO Auto-generated method stub
		System.out.println("正在处理数据");
	}
}

十三、温习webservlet调用两种方式:

1.采用Webservice注解

2.web.xml配置,配置如下:

猜你喜欢

转载自blog.csdn.net/HBUT_WANGWEI/article/details/125212812