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 ...
随机推荐
- VsCode 使用习惯设置(备份)
{ "window.menuBarVisibility": "toggle", "workbench.statusBar.visible": ...
- English: How to Pronounce R [ɹ] Consonant
English: How to Pronounce R [ɹ] Consonant Share Tweet Share Tagged With: Most Popular, Sound How-To ...
- intellij idea 配置web 项目
Intellij Idea 创建Web项目入门(一)(转载) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://p ...
- 找某個ColumnName在那些Tables
想找ColumnName叫CRE_USR的欄位在那些Table呢? (For SQL Server) SELECT o.name, o.* FROM syscolumns c INNER JOIN s ...
- 那些年,我们追过的PHP自加自减运算(1)
------------------------------------------------------------------------------------------- PHP的运算符号 ...
- 获取tensorflow中tensor的值
tensorflow中的tensor值的获取: import tensorflow as tf #定义变量a a=tf.Variable([[[1,2,3],[4,5,6]],[[7,8,9],[10 ...
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- hdu5505-GT and numbers-(贪心+gcd+唯一分解定理)
GT and numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- Elasticsearch搜索异常-------org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: parse_exception
异常问题: Caused by: org.elasticsearch.index.query.QueryShardException: Failed to parse query [LOL: Uzi和 ...
- Java中的BigDecimal类精度问题
bigdecimal 能保证精度的原理是:BigDecimal的解决方案就是,不使用二进制,而是使用十进制(BigInteger)+小数点位置(scale)来表示小数,就是把所有的小数变成整数,记录小 ...