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 {}}
?