关于JavaWeb的学习笔记(一)

1.javaweb环境搭建

1.0常见的web服务器:

WebLogic:Oracle公司(支持JavaEE,javaee规范)

WebSphere  IBM 的软件平台(支持J2EE规范)

Tomcat (apache免费)(支持jsp和servlet,但不支持EJB(要用JBOSS(以前免费,现在收费)))

注:本章着重讲TomCat

1.1环境变量

配置JAVA_HOME,路径指向jdk就行,不要指向bin文件不是配置path文件

1.2Tomcat下载

TomCat的下载地址 https://tomcat.apache.org/download-90.cgi(注意:选择最稳定的版本)

将Tomcat解压到本地磁盘(目录不要汉字和空格) 设置环境变量:JAVA_HOME 设置 C:\Program Files\Java\jdk1.8.0_74 启动Tomcat E:\java\jsp\software\apache-tomcat-9.0.34\bin\startup.bat(最好放一个快捷方式在桌面,方便,关闭同理) 在地址栏中输入:http://localhost:8080/,如果看下图中的欢迎界面,Tomcat运行成功。

学习javaweb最好用解压版(解压完即可,比安装版简便),最好别用安装版,对于学习javaweb,TomCat会随时面临着被我们倒腾坏,一但服务器崩溃了,解压版可以直接通过解压来重新使用,但安装版麻烦可能稍微有点大了。

2Tomcat基础用法简绍

2.1TomCat文件目录

cont配置文件
connector端口
lib        jar包
logs        日志
temp临时文件
webapps应用
work工作目录

2.2Tomcat发布项目的三种方法:

2.2.1 项目直接放在webapps目录

先创建一个工程文件(现在不要这么注意文件里的文件格式,仅仅只是一个小小的测试),在文件中创建一个文件名为index(文件名必须是index,这是默认访问)HTML文件在上面随便写点”英文单词"(如果有点问题写中文可能会乱码)我写的就是我们的老熟人·"Hello Would",把创建的整个文件放在 Tomcat 中的TomCatJavaWebDatabase\apache-tomcat-9.0.94\webapps路径中(webapps文件下),让TomCat可以直接访问文件,如下图

在准备好文件之后,打开apache-tomcat-9.0.94\bin中的startup.bat开启服务器,在浏览器上输入localhost:8080/myweb/网页页面会显示你之前在index输入的数据,就如我这一样

2.2.2 映射法(写起来有点麻烦)

创建的工程文件放在Tomcat外最好别放在TomCat中,不能放在webapps中,如图:

文件创建(可以暂时不按规范来只是测试)如下图创建文件,在index.html文件下随便写点网页,

我是随便在网上复制一点内容

现在再去你的TomCat里寻找配置文件TomCatJavaWebDatabase\apache-tomcat-9.0.94\conf\

server.xml,可以用记事本打开,最好是去下一个EditPlus,在后面部分    </Engine>  前添加一个主机

<Host name ="虚拟名(等会网页上输入的路径)" appBase="文件所在的根目录上一级目录">
        <Context path="可以不用写默认" docBase="文件所在的根目录"/>

再去c盘找你的hosts配置文件C:\Windows\System32\drivers\etc\hosts,设置一个ip,配置文件改不了可以复制到的D盘在复制回去即可(一定要检查写进去没有)

你的加入即可(IP 你上面设置的虚拟路径)

最后打开TomCat输入虚拟路径在加上你的端口号即可,切记如果你懒不想写的口号,web默认为80可以把端口号修改成80,但请注意可能你的80端口被其他服务占取无法使用,所以最保守的还是加上端口号。

2.2.3 可以在Catalina(服务器引擎,注意是conf\Catalina\localhost中创建)中新建一个任意的xml文件并在里边写入<Context docBase="D:\hello"/>,那么这个xml文件的名字就是我们的虚拟目录,如果文件为    aaa#bbb就是两级虚拟目录

2.2.4用户设置

配置tomcat的管理器的用户名和密码:

设置管理员与高级管理员在TomCatJavaWebDatabase\apache-tomcat-9.0.94\conf文件中选择tomcat-users.xml文件如上图 格式如下    

管理员:

<role rolename="manager-gui"/>

<user username="用户名" password="密码" roles="manager-gui"/>

超级管理员:

<role rolename="admin-gui"/>

<user username="用户名" password="密码" roles="admin-gui"/>

3.Servlet入门

2.0环境变量classpath:D:\JavaWebMain\TomCatJavaWebDatabase\apache-tomcat-9.0.94\lib中的

请指向你的servlet-api.jar和jsp-api.jar

3.1用IDEA调用TomCat

下面是创建文件的基本格式,在webapps里创建一个文件夹myweb,作为你的网站根目录 在myweb中创建一个目录WEB-INF 在WEB-INF中创建一个classes目录 在WEB-INF中创建一个web.xml

现在ieda创建随便一个工程,选择run中的edit Configuratio,添加一个TomCat,选择的路径即可

设置好TomCat后创建一个Java Enterprise工程(先选择 Java ee version :java ee 8)在选择勾选web Application即可进行创建

工程创建后他会给你生成web文件与WEB-INF文件,记清楚不同内容文件放的位置,不要放错了,html一定不要放在WEB-INF文件中TomCat的保护机制会让你访问不到,从而生成400以上的问题(路径不对),检查导入的包是否有TomCat。

文件创建好后我们在虚拟代码区建包,建立Java文件。

普通的java是无法和web相链接,所以我们这有一个类(HttpServlet)的继承去实现让Java可以链接,我们先学习web响应与激励,dopost与daget学习如下代码我们分别在网页上打印与回收。

一般链接

运行结果:(注:运行后一定要输入加路径跳转!!!)

上面的方法可以结合使用,但注意方法必须有激励和响应,不能只有激励,不能只有响应,不然只有用dopose与doget分开用,service方法,有一个乱码问题,service输入中文,你这中文输入激励,会传到终端需要一次转码,最后才会传入服务器html还需要一次转码,因此乱码问题会很频繁,不进行乱码处理或者少一步都会出错。如下图:

 

运行结果:

用映射链接如下代码:
 

package com.test;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//我们映射之后不能子啊用@Sevrlet()去调用
public class ServletDemo5 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().print("ServletDemo5");
    }

    @Override
    public void destroy() {
        System.out.println("servlet消亡了!");
    }

    @Override
    public void init() throws ServletException {
        System.out.println("servlet创建了!");
    }
}

映射法我们需要在WEB-INF文件中web.xml文件上加虚拟路径

   <servlet>
        <servlet-name>ServletDemo5</servlet-name>
        <servlet-class>com.test.ServletDemo5</servlet-class>
        <load-on-startup>1</load-on-startup>
        <!-- 如果进行如下设置<load-on-startup>1</load-on-startup>,servlet会跟随服务器的启动而创建。 -->
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletDemo5</servlet-name>
        <url-pattern>/ServletDemo5</url-pattern>
    </servlet-mapping>

最后我们调用调用时候直接输入虚拟路径即可

3.2Servelt的生命周期

默认情况下,第一次调用时创建,一直在内存中,直到服务器关闭,servlet才会消亡。如果进行如下设置<load-on-startup>1</load-on-startup>,servlet会跟随服务器的启动而创建。代码输如下

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值