java_web1

一.部署第一个JavaWeb程序

1.新建project,搜索并创建web工程(Dynamic Web Project)

2.在工程中WebContent目录下创建第一个HTML文件

3.双击打开html,编写

4.鼠标右键点击项目,部署运行项目(Run on Server)

5.通过浏览器查看效果

二.javaWeb应用工程目录结构

src:存放Java源代码的目录。

Libraries:存放的是TomcatJRE中的jar

build:自动编译.java文件的目录

WebContentWeb根目录,存放的是需要部署到服务器的文件

MEAT-INF:是存放工程自身相关的一些信息,元文件信息,通常由开发工具和环境自动生成。

MANIFEST.MF:配置清单文件

WEB-INF:这个目录下的文件,是不能被客户端直接访问的。

classes:存放Java字节码文件的目录。

lib:用于存放该工程用到的库。

web.xmlweb工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射。

客户端能访问的资源(*html或*.jpg)必须跟WEB-INF在同一级目录,即放在Web根目录下的资源,从客户端是可以通过URL地址直接访问的。

三.在.xml中servlet配置

示例代码

//创建servlet类
package com.neu.first;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/* 第一步:继承httpservlet
 * 第二步:重写service方法
 * 加载顺序
 * 拓展:每当servlet被第一次访问的时候,会生成一个对象(调用init方法) servlet是单例
 * 2.默认为0,当定义为整数时,在服务器启动时加载,整数越小,优先级越高
 */
public class FirstServlet extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
          //加载初始化
    @Override
    public void init() throws ServletException {
    	// TODO Auto-generated method stub
    	System.out.println("firstServlet被加载了");
    }
	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
		System.out.println("进入service方法");
		//设置字符响应集
		//arg1.setCharacterEncoding("utf-8");
		//设置响应头
		arg1.setContentType("text/html;charSet=utf-8");
		//获取响应的流
		PrintWriter pw=arg1.getWriter();
		//输出内容
		pw.write("

从服务器游一圈回来了

"); pw.flush(); } @Override public void destroy() { // TODO Auto-generated method stub System.out.println("firstServlet被摧毁了"); System.out.println("firstServlet被摧毁了"); } } 部署: web_zk firstDemo com.neu.first.FirstServlet firstDemo /first thirdDemo com.neu.first.ThirdServlet 张三 345678 李四 456789 王五 567890 thirdDemo /third index.html index.htm index.jsp default.html default.htm default.jsp

servlet接口中的一些主要方法

方法名称

方法描述

 

init(ServletConfig config)

Servlet始化,在Servlet实例化后,容器调用该方法进行Servlet的初init()方法只能被调用一次,如果此方法没有正常结束,就会抛出一个ServletException异常,一旦抛出该异常,Servlet将不再执行,随后对其进行再次调用容器重新载入并再次运行init()方法

 

service(ServletRequest req

,ServletResponse resp)

 

Servlet服务方法。当用户对Servlet发出请求时容器会调用该方法处理用户的请求

 

destroy()

Servlet的销毁方法。容器在终止Servlet服务前调用此方法,容器调用此方法前必须给service()线程足够时间来结束执行,因此接口规定当service()正在执行时,destroy()不被执行

getServletConfig()

此方法可以让Servlet在任何时候获得ServletConfig对象

getServletInfo()

此方法返回一个String对象,该对象包含Servlet的信息,例如:开发者、创建日期、描述信息等。该方法也可用于容器

web.xml中通过 ”元素声明Servlet,其子元素及其描述如下表:

属性名

类型

描述

String

指定该Servlet的描述信息,等价于@WebServlet description属性

String

指定该Servlet的显示名,通常配合工具使用,等价于@WebServletdisplayName属性

<servlet-name>

String

指定Servlet的名称,一般与Servlet的类名相同,要求在一个web.xml文件内名字唯一,等价于@WebServletname属性

<servlet-class>

String

指定Servlet类的全限定名,即:包名.类名

 

指定Servlet初始化参数,等价于@WebServletinitParams属性,若有多个参数可重复定义元素。此元素为可选配置

String

指定初始参数名

String

指定初始参数名对应的值

int

指定Servlet的加载顺序,等价于@WebServletloadOnStartup属性

boolean

指定Servlet是否支持异步操作模式,默认为false,等价于@WebServletasyncSupported属性

你可能感兴趣的:(java学习笔记)