欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WEB开发笔记

程序员文章站 2022-05-11 19:22:13
...

第一章 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 {

	}

}