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 ...
随机推荐
- Linux 完整卸载oracle和grid软件
本文主要描述如何在Linux下完全卸载oracle和grid软件. 操作环境 SuSE11 oracle用户完整删除操作步骤 1.登录oracle用户,停止Oracle数据库监听和数据库实例 orac ...
- 什么是socket?
1.七层协议简化为四层:应用层.传输层.网络层.链路层:2.套接字是应用层和TCP/IP协议族通信间的软件抽象层,将TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用实现进程在网络中的通信:本地 ...
- python第三步骤(pygame)
1:先安装homebrew(类似于yum /apt-get为什么需要它呢,因为pip安装的时候需要很多的包的依赖,sdl什么的), 2:pip 安装pygame 我讨厌的环境变量问题 然后 通过的是 ...
- 当点击回车键后form表单就可提交的实现
$('#myform').find('input').on('keyup',function(event){ if(event.keyCode == 13){ $('#myform').submit( ...
- [Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】
Robotium的手机自动化测试,很多都是利用app源代码里的Id定义来开发自动化脚本.而在我开始要为项目中的app写自动化测试脚本的时 候,开发的环境还很不稳定,app也还处于开发的状态中,而且,在 ...
- 吴裕雄 oracle 函数、触发器和包编程
- 辅助测试工具xip.io
http://xip.io/ https://github.com/basecamp/xip-pdns
- Unity&UGUI
UI:User Interface 用户交互接口,处理用户与程序直接的交互 新建一个UI控件,都会同时新建两个物体: --Canvas:画布,所有的UI控件都必须放到画布上 --EnventSyste ...
- MyEclipse2014安装aptana插件
1. 2. aptana插件下载地址 链接: https://pan.baidu.com/s/1sloiAK1 密码: a1nh 3. 4. 确认是否安装成功
- new usercontrol
http://www.codeproject.com/Articles/12421/The-Grouper-A-Custom-Groupbox-Control