how2j学习日志——J2EE(2018年3月28日)
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日)的更多相关文章
- RxJava2.0学习笔记2 2018年7月3日 周二
摘记: 1.map -- 转换 有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...
- WIN10 困扰多时的屏幕亮度 终于可以调节了-完美 -更新2018年2月28日
总结:很多问题是自己认知不够造成的, -- 问题解决在 修复经历二,可直接跳过去看 修复经历二. 首先看你屏幕亮度是集成还是独立显卡决定的(一般是集成),所以下面 修复经历一折腾独立显卡驱动没什 ...
- [2018-11-03]2018年10月28日宁波dotnet社区活动回顾及下次活动预告
离上次活动,有半年了,汗.之后尽量保证每月一次,以组织为主,多邀请嘉宾来分享. 本次活动不足之处 人手不足:由于活动组织事项受限于人手(目前就我一个,这次活动前后我又应邀给大红鹰学院应届生介绍dotn ...
- RxJava2.0学习笔记1 2018年3月23日 星期五
参考博文:给初学者的RxJava2.0教程-简书 源码 :https://github.com/ssseasonnn/RxJava2Demo 1 若是发送多个onError, 则收到第二个on ...
- 2018年9月28日CCPC秦皇岛站参赛总结
day1: 被中间结果超出int范围给叉了,立刻意识到了自己的弱小以及校赛出题的时候是怎么叉别人的 day2: 签到签了40分钟,谨慎一些还是很好的,机子重启耽误了一些时间 一道暴力+LCS的简单题被 ...
- Android GreenDao 在组件化项目中的一个问题 - 2018年7月5日21:15:14
组件化项目使用GreenDao时注意的事项: 1.要在组件化中的基础库(domain层)创建实体类: 2.如果sycn之后不能生产Dao文件,使用 Android Studio 的Gradle插件重新 ...
- Java分布式互联网架构/微服务/高性能/springboot/springcloud 2018年10月17日直播内容
2018年10月17日直播内容 大规模并发必备的消息中间件技术ActiveMq 网盘链接: https://pan.baidu.com/s/1GlxsZ2JnrvX- YN16-S7lQw 提取码: ...
- 2018年12月8日广州.NET微软技术俱乐部活动总结
吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...
- 2018年3月24日上海MVP线下技术交流活动简报
2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...
随机推荐
- Flex_布局和容器
1.Halo组件也称MX组件,是Flex3的独有组件(按钮.文本字段.容器等).而Flex4引入了新一代的组件,称为Spark. Flex4同时支持Halo和Spark.但是很多Halo组件都有更 ...
- Java重写equals方法(重点讲解)
为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...
- 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 ...
- 阿里支付宝java接口
网上关于Java支付宝接口的文章很多,都大同小异,但是具体到代码中,还是不太一样,对于以前没有调试的新手来说还是很费解的,这是通过调试认为比较有用的版本,贴在这里供大家参考. 1.从本站提交到支付宝: ...
- Python异常和调试.md
异常捕获 try 基本概念 我们使用try except来捕获异常,python的try except有几个特点: 不管函数内部嵌套几层,只要在try的范围内就可以被捕获.这句话的意思是一个函数被tr ...
- tf.Variable和tensor的区别(转)
刷课过程中思考到Variable和Tensor之间的区别,尝试发现在如下代码中: a = tf.Variable(tf.ones(1)) b = tf.add(a,tf.ones(1)) 1 2 a是 ...
- struts原理图
n the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is pa ...
- 2018面向对象程序设计(Java)第9周学习指导及要求
2018面向对象程序设计(Java)第9周学习指导及要求(2018.10.25-2018.10.28) 学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...
- Java中this和super的用法和区别
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句). this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句). this的实例: package ...
- Spring设置动态定时任务
1.在Spring中经常会用到定时任务,一般会在业务方法上使用@Schedule(cron="定时执行规则"),无法实现从前台动态设置定时任务. 在java中固定频率的任务使用Sc ...