zoukankan      html  css  js  c++  java
  • 由一个Servlet 看java入门常犯的几个错误

    安装完java环境后,cmd-javac 报错           -------------》环境变量配错了,最后全配成系统变量,ok了

    能浪费一天的时间

    写一个最简单的Servlet ,tomcat报错404

    看到一个

    信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:Program Filesjdkin;C:WindowsSunJavain;C:Windowssystem32;C:Windows;D:Program Filesjdkjrein;C:Program Files (x86)InteliCLS Client;C:Program FilesInteliCLS Client;C:Pro

    以为是它的原因,其实都不重要

    重要是没找到index.jsp        -----------------------》文件位置、目录错了

    能浪费一天的时间

    Servlet 读取远程orcale,报错   -----------------------------》java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

    jdk和驱动是匹配的,查过了

    变量也加了

    其实是webcontentweb-inflib里没有放jar包

    能浪费一天的时间

    java连接orcale需要安装客户端吗?----------------------------》不需要,事实上有一个驱动就ok了,驱动就是一个小客户端了

    能浪费一天的时间

    import javax.servlet.*;报错---------------》原因,没有build Servlet-api.jar

    大纲目录

    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>fleam</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>
      
      
      <!-- 通过getServletContext().getInitParameter("XX")读取 -->
    <context-param>
       <param-name>driver</param-name>
       <param-value>oracle.jdbc.driver.OracleDriver</param-value>
    </context-param>
    
    <context-param>
       <param-name>url</param-name>
       <param-value>jdbc:oracle:thin:@XXXXXXXXXXXXXXXXX:1521:XXX</param-value>
    </context-param>
    
    <context-param>
       <param-name>username</param-name>
       <param-value>XXX</param-value>
    </context-param>
    
    <context-param>
       <param-name>password</param-name>
       <param-value>XXXXX</param-value>
    </context-param>
    
    
    
    
    
      
      
    </web-app>

    程序

    package helloworld;
    
    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;
    
    
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     */
    @WebServlet("/HelloWorld")
    public class HelloWorld extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        private String diverClass;
        private String userName;
        private String password;
        private String url;
        
        /**
         * Default constructor. 
         */
        public HelloWorld() {
            // TODO Auto-generated constructor stub
    
        
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        @Override
    
        protected void doGet(HttpServletRequest request,
    
                HttpServletResponse response) throws ServletException, IOException {
    
            
    
            Connection conn = null;
    
            Statement stmt = null;
    
            ResultSet rs = null;
    
            
            JSONObject jsonObject = new JSONObject();
            
            
    
            response.setContentType("text/html");
    
            response.setCharacterEncoding("gb2312");
    
            PrintWriter out = response.getWriter();
            
            
            diverClass = /* getServletConfig(). */getServletContext().getInitParameter("driver");
               userName = /* getServletConfig(). */getServletContext().getInitParameter("username");
               password = /* getServletConfig(). */getServletContext().getInitParameter("password");
               url = /* getServletConfig(). */getServletContext().getInitParameter("url");
            
            
    
            
    
            try {
    
                Class.forName(diverClass);
    
                //conn = DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=root&password=12345678");
    
                conn = DriverManager.getConnection(url, userName,password);
    
                stmt = conn.createStatement();
    
                rs = stmt.executeQuery("SELECT * FROM ANIMALS"); 
    
                while(rs.next()){
    
                    
                    try {
    
                         jsonObject.put("name",rs.getString("NAME"));
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }  
                    //out.println(rs.getString("NAME"));
                    out.println(jsonObject);
                
    
                }
                
                
    
                
                
                
    
            } catch (ClassNotFoundException e) {
    
                e.printStackTrace();
    
            } catch (SQLException e) {
    
                e.printStackTrace();
    
            } finally {
    
                try {
    
                    if(rs != null) {
    
                        rs.close();
    
                        rs = null;
    
                    }
    
                    if(stmt != null) {
    
                        stmt.close();
    
                        stmt= null;
    
                    }
    
                    if(conn != null) {
    
                        conn.close();
    
                        conn = null;
    
                    }
    
                } catch (SQLException e) {
    
                    e.printStackTrace();
    
                }
    
            }
    
        }
    
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
            
             PrintWriter out = response.getWriter();
             out.println("<div style='100px;height:100px;background-color:red'>123123</div>");
              
            
        }
    
    }
  • 相关阅读:
    Python增删改查文件
    Python实现验证用户信息后跳转网页的功能
    Python文件操作
    python集合操作
    字典的用法
    二分查找
    git命令记录
    JavaScript高级程序设计window对象学习记录
    JS模块化简介(读书笔记)
    Webpack代码分割 + 懒加载
  • 原文地址:https://www.cnblogs.com/hellowzd/p/5743691.html
Copyright © 2011-2022 走看看