JavaWeb概述

WEB服务器软件:

JavaWeb概述_第1张图片

从Browser端发送数据到server端,我们称为请求,request

从Server端向浏览器端发送数据,我们称为相应,英语单词,response

关于Tomcat服务器的目录:

bin:这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等

conf:这个目录是Tomcat服务器的配置文件存放目录,server.xml文件中可以配置端口号,默认Tomcat端口是8080

lib:这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是java语言编写的,这里的jar包里边都是class文件

logs:Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件

temp:Tomcat服务器的临时目录,存储临时文件

webapps:这个目录当中就是用来存放大量的webapp

work:这个目录是用来存放ISP文件翻译之后的java文件以及编译之后的class文件

bin目录下有一个文件:startup.bat,通过它可以启动Tomcat服务器

bat文件是批处理文件,这种文件中可以编写大量的windows的dos命令,然后执行bat文件就相当于批量的执行dos命令

sh文件在linux环境中执行,大量的shell命令编写在shell文件中

运行Tomcat:

JavaWeb概述_第2张图片

停止Tomcat:

JavaWeb概述_第3张图片

启动Tomcat后访问 localhost:8080出现如下界面即为成功

JavaWeb概述_第4张图片

实现一个最基本的web应用:

找到Tomcat的webapps目录

JavaWeb概述_第5张图片

 进入文件夹建立自己的工程目录以及其中的html文件,如oa/index.html

访问

localhost:8080/oa/index.html

JavaWeb概述_第6张图片

webapp的开发团队和webServer的开发团队之间有一套规范:javaEE规范之一,Servlet规范

Servlet规范的作用是webserver和webapp解耦合

Browser和Webserver之间有一套HTTP传输协议

webapp和数据库有一套JDBC规范

JavaWeb概述_第7张图片

请求路径和java小程序之间应该有一个对应关系:这个对应关系应该由webapp的开发者提供

通过配置文件,反射机制来创建类,从而进行对应

因为Tomcat文件已经写好了,路径和配置文件的文件名是固定的,这都是servlet规范所规定的

JavaWeb概述_第8张图片

开发一个带有servlet的webApp流程:

JavaWeb概述_第9张图片

JavaWeb概述_第10张图片

其中需要实现servlet中的5个方法

JavaWeb概述_第11张图片

eg:

JavaWeb概述_第12张图片

解决Tomcat乱码问题:

找到conf文件夹下的logging.properties,

找到下图代码

,将UTF-8改成GBK

访问时后边跟的应该是url-pattern的路径

浏览器发送请求,到最终服务器调用Servlet中的方法,是怎样的一个过程

JavaWeb概述_第13张图片

怎么将一个信息直接输出到浏览器上?

需要使用ServletResponse接口,如下图

JavaWeb概述_第14张图片

 注意:设置响应的内容类型时不要在获取流之后设置,即不要在response.getWriter();后添加

response.setContentType("text/html")

向浏览器相应一段HTML代码:

使用idea开发servlet程序:

JavaWeb概述_第15张图片

 JavaWeb概述_第16张图片

JavaWeb概述_第17张图片

JavaWeb概述_第18张图片

 

​
@Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

        servletResponse.setContentType("text/html");
        PrintWriter out=servletResponse.getWriter();
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");

            String url="jdbc:mysql://localhost:3306/root";
            String user="root";
            String password="******";
            conn= DriverManager.getConnection(url,user,password);

            String sql="select * from t_student";

            ps=conn.prepareStatement(sql);

            rs=ps.executeQuery();

            while(rs.next())
            {
                String no=rs.getString("no");
                String name=rs.getString("name");
                out.print(no+name+"
"); } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(ps!=null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ​

xml中

 
        aaa
        com.xxxx.servlet.StudentServlet
    
    
    
        aaa
        /servlet/student
    

JavaWeb概述_第19张图片




    
    student page



    
        student list
    

JavaWeb概述_第20张图片

 JavaWeb概述_第21张图片

 JavaWeb概述_第22张图片

JavaWeb概述_第23张图片

你可能感兴趣的:(javaweb,javaweb)