JavaWeb学习系列——第一个JavaWeb程序

创建JavaWeb项目

Eclipse中新建一个Dynamic Web Project

JavaWeb学习系列——第一个JavaWeb程序_第1张图片

指定项目名称、依赖环境

JavaWeb学习系列——第一个JavaWeb程序_第2张图片

JavaWeb学习系列——第一个JavaWeb程序_第3张图片

勾选生成web.xml选项

JavaWeb学习系列——第一个JavaWeb程序_第4张图片

更改项目编译输出目录,项目右键 ->properties ->Java Build Path ->source ->Default output folder,修改为JavaWeb01/WebContent/WEB-INF/classes

JavaWeb学习系列——第一个JavaWeb程序_第5张图片

在WebContent文件夹下新建一个index.jsp文件,修改其代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JavaWeb01title>
head>
<body>
    <%
        String name = request.getParameter("name");
        out.print("欢迎" + name +" 第一个JavaWeb程序");
    %>
body>
html>

OK了,发布测试一下

JavaWeb学习系列——第一个JavaWeb程序_第6张图片

创建Servlet实例

新建Servlet文件

JavaWeb学习系列——第一个JavaWeb程序_第7张图片

指定包名称、类名称

JavaWeb学习系列——第一个JavaWeb程序_第8张图片

修改HelloServlet.java 代码如下:

package com.lock.test;

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;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        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
        //处理中文
        String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write("欢迎" + name + " HelloServlet 第一个Servlet程序");
    }

    /**
     * @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);
    }
}

修改/WebContent/WEB-INF/web.xml文件如下:

xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>JavaWeb01display-name>
  <welcome-file-list>
    <welcome-file>index.htmlwelcome-file>
    <welcome-file>index.htmwelcome-file>
    <welcome-file>index.jspwelcome-file>
    <welcome-file>default.htmlwelcome-file>
    <welcome-file>default.htmwelcome-file>
    <welcome-file>default.jspwelcome-file>
  welcome-file-list>
  <servlet>  
      
    <servlet-name>HelloServletservlet-name>  
      
    <servlet-class>com.lock.test.HelloServletservlet-class>  
  servlet>  
  
  <servlet-mapping>  
    
    <servlet-name>HelloServletservlet-name>  
      
    <url-pattern>/helloservleturl-pattern>  
  servlet-mapping>  
web-app>

编译项目后,在Tomcat下发布测试

JavaWeb学习系列——第一个JavaWeb程序_第9张图片

JSP运行原理简释

  • 只有当客户端第一次请求JSP时,才需要将其转换、编译(所以第二次浏览同样的网页时,速度会更快)。
  • Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
  • 程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
  • 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。

在Tomcat的work目录下,可看到该项目编译后的结果文件。

JavaWeb学习系列——第一个JavaWeb程序_第10张图片

实际上,jsp文件转为java servlet(本质就是Java文件),然后再把java文件编译为class文件,最终执行的是class文件。

转载于:https://www.cnblogs.com/hans_gis/p/6160449.html

你可能感兴趣的:(JavaWeb学习系列——第一个JavaWeb程序)