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");,这样浏览器上也能正常显示中文。