1.

开始跟着站长学习J2EE,首页是简单的Tomcat安装和部署,我从官网上下载的是7.0.85版本,修改server.xml中的默认端口号为80。80端口是web服务的默认端口,因此在浏览器上输入127.0.0.1就行了,不需要再输入端口号。

2.

由于我把之前的继承包WampServer卸载了,因此去官网上重新下载了一个MySql服务器,版本是5.1.38(64位)。选择custom安装,自定义安装路径,最后一步总是”未响应“,网上一查,原来是之前的mysql没有删除干净,跟着站长的提示把相关的注册表和文件夹删除干净之后,安装就成功了。然后使用站长推荐的工具mysql-front进行数据库连接,操作很方便。

3.

一个简单的servlet

  从现在开始使用eclipse EE版本。File -> New -> Java -> Java Project,新建一个单纯的基于java项目,名称是j2ee。使用File -> Switch Workspace选择工作目录,把这个java项目放在E:\project里面,因为后面的操作时基于这个目录的。

  开发servlet需要用到servlet-api.jar这个包里的类,tomcat的lib目录就有,eclipse中右键点击项目 -> properties -> Java Build Path -> Libraries -> add external JARS导入这个servlet-api.jar包。

  开始编写HelloServlet,一个继承了HttpServlet的类,要实现HttpServlet类的doGet方法。并且这个java文件要放在src下的默认包中。

  配置web.xml。这个xml文件要放在j2ee/web/WEB-INF目录中。

  在WEB-INF目录下创建子目录:classes。把项目的class文件输出由原来的j2ee/bin 设置到j2ee/web/WEB-INF/classes下。

  配置tomcat的server.xml中的<Context  path="/" docBase="e:\\project\\j2ee\\web"  debug="0" reloadable="false" />  说明:path="/"表示直接通过http://127.0.0.1/hello就可以访问网页了。

  删除tomcat webapps下的ROOT目录。

  重启tomcat,访问http://127.0.0.1/hello。

4.

使用eclipse编写java文件时,会自动生成.class文件。不像用纯文本编辑工具编写java文件,还要手动敲命令进行编译。

在一个web应用中,删除了java文件还是可以正常运行,但是如果删除了classes目录中的.class文件,就会出现java.lang.ClassNotFoundException。

对于HTML文件中的表单的action=”login",它是怎么找到对应的LoginServlet的呢?主要是根据web.xml这个文件。action后面的值其实就是一个url,对应web.xml中url-pattern,然后一层一层找到.class文件去。

5.

获取参数:String name = request.getParameter("name");

输出到浏览器:response.getWriter().println("<h1>Hello Servlet</h1>");

6. 中文问题

浏览器以utf-8编码,tomcat获取参数之前,request.setCharacterEncoding("UTF-8")设置编码方式,这样tomcat控制台打印的参数就能正常显示中文了;

tomcat发送内容到浏览器之前,设置编码方式:response.setContentType("text/html; charset=UTF-8");,这样浏览器上也能正常显示中文。

how2j学习日志——J2EE(2018年3月28日)的更多相关文章

  1. RxJava2.0学习笔记2 2018年7月3日 周二

    摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...

  2. WIN10 困扰多时的屏幕亮度 终于可以调节了-完美 -更新2018年2月28日

    总结:很多问题是自己认知不够造成的,  -- 问题解决在  修复经历二,可直接跳过去看  修复经历二. 首先看你屏幕亮度是集成还是独立显卡决定的(一般是集成),所以下面 修复经历一折腾独立显卡驱动没什 ...

  3. [2018-11-03]2018年10月28日宁波dotnet社区活动回顾及下次活动预告

    离上次活动,有半年了,汗.之后尽量保证每月一次,以组织为主,多邀请嘉宾来分享. 本次活动不足之处 人手不足:由于活动组织事项受限于人手(目前就我一个,这次活动前后我又应邀给大红鹰学院应届生介绍dotn ...

  4. RxJava2.0学习笔记1 2018年3月23日 星期五

    参考博文:给初学者的RxJava2.0教程-简书     源码 :https://github.com/ssseasonnn/RxJava2Demo 1 若是发送多个onError, 则收到第二个on ...

  5. 2018年9月28日CCPC秦皇岛站参赛总结

    day1: 被中间结果超出int范围给叉了,立刻意识到了自己的弱小以及校赛出题的时候是怎么叉别人的 day2: 签到签了40分钟,谨慎一些还是很好的,机子重启耽误了一些时间 一道暴力+LCS的简单题被 ...

  6. Android GreenDao 在组件化项目中的一个问题 - 2018年7月5日21:15:14

    组件化项目使用GreenDao时注意的事项: 1.要在组件化中的基础库(domain层)创建实体类: 2.如果sycn之后不能生产Dao文件,使用 Android Studio 的Gradle插件重新 ...

  7. Java分布式互联网架构/微服务/高性能/springboot/springcloud 2018年10月17日直播内容

    2018年10月17日直播内容 大规模并发必备的消息中间件技术ActiveMq 网盘链接: https://pan.baidu.com/s/1GlxsZ2JnrvX- YN16-S7lQw 提取码: ...

  8. 2018年12月8日广州.NET微软技术俱乐部活动总结

    吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...

  9. 2018年3月24日上海MVP线下技术交流活动简报

    2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...

随机推荐

  1. Flex_布局和容器

    1.Halo组件也称MX组件,是Flex3的独有组件(按钮.文本字段.容器等).而Flex4引入了新一代的组件,称为Spark.   Flex4同时支持Halo和Spark.但是很多Halo组件都有更 ...

  2. Java重写equals方法(重点讲解)

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  3. LeetCode OJ 15. 3Sum

    题目 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...

  4. 阿里支付宝java接口

    网上关于Java支付宝接口的文章很多,都大同小异,但是具体到代码中,还是不太一样,对于以前没有调试的新手来说还是很费解的,这是通过调试认为比较有用的版本,贴在这里供大家参考. 1.从本站提交到支付宝: ...

  5. Python异常和调试.md

    异常捕获 try 基本概念 我们使用try except来捕获异常,python的try except有几个特点: 不管函数内部嵌套几层,只要在try的范围内就可以被捕获.这句话的意思是一个函数被tr ...

  6. tf.Variable和tensor的区别(转)

    刷课过程中思考到Variable和Tensor之间的区别,尝试发现在如下代码中: a = tf.Variable(tf.ones(1)) b = tf.add(a,tf.ones(1)) 1 2 a是 ...

  7. struts原理图

    n the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is pa ...

  8. 2018面向对象程序设计(Java)第9周学习指导及要求

    2018面向对象程序设计(Java)第9周学习指导及要求(2018.10.25-2018.10.28)   学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...

  9. Java中this和super的用法和区别

    super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句). this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句). this的实例: package ...

  10. Spring设置动态定时任务

    1.在Spring中经常会用到定时任务,一般会在业务方法上使用@Schedule(cron="定时执行规则"),无法实现从前台动态设置定时任务. 在java中固定频率的任务使用Sc ...