zoukankan      html  css  js  c++  java
  • JavaWeb学习系列——第一个JavaWeb程序

    创建JavaWeb项目

    Eclipse中新建一个Dynamic Web Project

    指定项目名称、依赖环境

    勾选生成web.xml选项

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

    在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>JavaWeb01</title>
    </head>
    <body>
        <%
            String name = request.getParameter("name");
            out.print("欢迎" + name +" 第一个JavaWeb程序");
        %>
    </body>
    </html>

    OK了,发布测试一下

    创建Servlet实例

    新建Servlet文件

    指定包名称、类名称

    修改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>JavaWeb01</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>  
        <!-- servlet应用名称 -->  
        <servlet-name>HelloServlet</servlet-name>  
        <!-- servlet应用名称对应的具体servlet文件 -->  
        <servlet-class>com.lock.test.HelloServlet</servlet-class>  
      </servlet>  
      <!-- 地址映射 -->
      <servlet-mapping>  
        <!-- servlet应用名字 -->
        <servlet-name>HelloServlet</servlet-name>  
        <!-- 访问的网址 -->  
        <url-pattern>/helloservlet</url-pattern>  
      </servlet-mapping>  
    </web-app>

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

    JSP运行原理简释

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

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

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

  • 相关阅读:
    GCD
    常用存储位置
    AFNetworking 不支持 text/plain,unacceptable content-type: text/plain
    iOS layer 动画
    自定义对象实现copy,遵守协议<NSCopying, NSMutableCopying>
    Objective-c学习笔记03——内存管理
    Objective-c学习笔记02——类(面向对象)01
    Objective-c学习笔记01——简介
    Objective-c——NSString
    开源网站
  • 原文地址:https://www.cnblogs.com/hans_gis/p/6160449.html
Copyright © 2011-2022 走看看