WEB开发笔记
第一章 Java Web开发工具的安装与使用
1.安装JDK
下载的网站:http://java.sun.com/javase/downloads/index.jsp
环境变量:JAVA_HOME: 输入JDK安装路径
PATH:输入JDK安装路径\bin
2.Tomcat的安装与配置
2.1主流的Java Web应用服务器
Tomcat或者Tomcat+Apache
Resin
JBoss
WebLogic Server
WebSphere
2.2 Tomcat的下载网址:http://tomcat.apache.org/download-60.cgi
2.3 Tomcat的配置
2.3.1 修改server.xml
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150"
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
修改的目的:为了解决使用HTTP Get方法传递中文参数乱码的问题
2.3.2 修改context.xml
^把<Context>修改成<Context reloadable="true">
^修改目的: 当Web应用中的文件或者web.xml文件修改后,Tomcat服务器会自动重新
加载当前Web应用,避免重新启动Tomcat.
^这个修改会对Tomcat的运行性能有影响,如果把Tomcat作为产品阶段所使用的服务器,
最好修改成<Context reloadable="false">
2.3.3 修改tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="liuwei" password="liuwei" roles="admin,manager"/>
</tomcat-users>
2.4 Tomcat的启动与关闭
2.4.1 启动Tomcat: 运行Tomcat服务器bin目录下的startup.bat文件
2.4.2 关闭Tomcat: 关闭Tomcat服务器,运行“tomcat6/bin"目录下的shutdown.bat文件,
或者直接关闭运行Tomcat的DOS窗口
2.5 Tomcat的目录结构
2.5.1 lib目录:存放部署Java类库
2.5.2 bin目录:存放与Tomcat运行有关的类、类库和DOS的批处理文件
2.5.3 webapps目录:这个目录存放部署的Web应用
2.5.4 work目录:存放临时生成的Servlet源文件和class文件
2.5.5 logs目录:存放Tomcat服务器运行时所产生的日志文件
2.5.6 temp目录:存放临时文件
3.Eclipse: http://www.eclipseplugincentral.com
3.1 下载网址: http://download.eclipse.org/eclipse/downloads/
3.2 Eclipse的安装
3.3 Eclipse的运行
设定workspace
3.4 Eclipse的界面
3.4.1 导航器(Navigator): 允许我们创建、选择和删除项目
3.4.2 包资源管理器(Package Explorer): 用来管理各种Java类库、类和其它文件的层次结构
3.4.3 大纲(Outlint):
^显示正在编辑的文档的大纲,大纲的显示内容取决于编辑器和文档的类型
^对于Java源文件,该大纲将显示所有已声明的类、属性和方法
3.4.4 控制台(Console): Java应用程序输出结果的终端窗口
3.4.5 问题(Problem): 显示正在编辑的程序或者文档中的错误、警告等信息,信息会明确的
指出出错的具体位置
3.4.6 任务(Tasks): 任务视图收集关于正在操作任务的信息
3.5 Eclipse的设置
3.5.1 Eclipse编译器调整:修改”Window--->Preferences-->Java"
4.实例1-01 Eclipse开发Java应用程序
5.MyEclipse
5.1 MyEclipse的下载
官方网站:http://www.myeclipseide.com
第二章 Servlet起源
第三章 Sevlet编程
1.Servlet
1.1Java技术细分成了三个子平台
Java SE Java EE Java ME
1.2Servlet是什么
需要运行在服务器端
需要Web容器的支持
Java编写
1.3Servlet的结构
1.3.1 类似的命名:
Applet(Application+let)
Servlet(Server+let)
MIDlet(MIDP+let)
1.3.2 javax.servlet.Servlet
1.3.3 javax.servlet.GenericServlet
1.3.4 javax.servlet.http.HttpServlet
1.4Servlet处理的流程
1.4.1 客户端使用浏览器提交对Servlet的调用的Get或者Post请求
1.4.2 服务器接到请求后,如果该Servlet是第一次被调用,实例化这个Servlet
1.4.3 服务器调用该Servlet对象的service()方法
1.4.4 Servlet产生动态的回复内容
1.4.5 服务器发送回复内容给客户端的浏览器
2.Servlet的生命周期
2.1 init()方法
2.2 service()方法
2.3 destory()方法
第四章 Servlet处理表单数据
1.HTML表单
1.1客户通过浏览器可以发送给Web服务器的请求一共有7种,“POST、GET、PUT、DELETE、OPTIONS、
HEAD和TRACE",但是在实际的Web编程中,我们只需要关注”POST"和“GET"请求,而其他的5
种请求极少使用。
1.2POST请求是通过HTML中表单(Form)进行发送的,表单中包括了不同形式的输入组件
1.2.1 Input text、Inpput password、Input radio
1.2.2 Input checkbox、Select 单选、Select多选、Textarea
1.2.3 Submit按钮、Reset按钮
1.3Form
<form method="post" action="/servlet/addMessage"></form>
1.4Input radio
<form method="post" action="/servlet/login">
请选择您的性别:
<input name="gender" type="radio" value="male" checked>男
<input name="gender" type="radio" value="female">女
</form>
1.5Input checkbox
<form method="post" action="/servlet/login">
请选择您的兴趣:
<input name="interest" type="checkbox" value="movie">看电影
<input name="interest" type="checkbox" value="music">听音乐
<input name="interest" type="checkbox" value="tv">看电视
<input name="interest" type="checkbox" value="sing">唱歌
</form>
1.6Select单选
<form mehtod="post" action="/srvlet/login">
请选择您的出生地:
<select name="city">
<option value="Beijing">北京</option>
<option value="Tianjin">天津</option>
<option value="Shanghai">上海</option>
<option value="Chongqing" selected>重庆</option>
<option value="etc">其它</option>
</select>
</form>
1.7Select多选
<form method="post" action="/servlet/login">
请选择您的兴趣:
<select name="interest" multiple size="5">
<option value="movie">看电影</option>
<option value="music">听音乐</option>
<option value="tv">看电视</option>
<option value="sing">唱歌</option>
</select>
</form>
1.8Textarea
<form method="post" action="/servlet/guestbook">
留言内容:
<textarea name="comment" rows="10" cols="40">大家好
</textarea>
</form>
1.9Submit按钮
<form method="post" action="/servlet/login">
<input type="submit" name="submit" value="确定">
</form>
1.10Reset按钮
<form method="post" action="/servlet/login">
用户名:
<input name="username" size="16" maxlength="16">
<input type="reset" value="重新输入">
</form>
2. Servlet实例
2.1 使用MyEclipse建立一个名为Servlet_01的web project,并自动生成web.xml.
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginFormServlet</servlet-name> <servlet-class>LoginFormServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginFormServlet</servlet-name> <url-pattern>/servlet/LoginFormServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2.2 在src目录下新建Servlet文件,名为LoginFormServlet.java, IDE会自动生成一些内容
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginFormServlet extends HttpServlet { public LoginFormServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); //out.println(" <form method=\"post\" action=\"/Servlet_01/servlet/LoginFormServlet\" > "); //out.println(" <form method=\"post\" action=\"LoginFormServlet\" > "); out.println(" <form method=\"post\" action=\""+ request.getContextPath() + "/servlet/LoginFormServlet\" > "); out.println(" <input name='username' type='text' size='18' />"); out.println(" <input name='password' type='password' size='18' />"); out.println(" <input name='submit' type='submit' />"); out.println(" </form>"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.println(" username:" + request.getParameter("username")); out.println(" password:" + request.getParameter("password")); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public void init() throws ServletException { } }