第一:基本概念
1.html,css,js等属于客户端技术,是静态网页,不能完成用户和系统的交互。
2.servlet,jsp等属于服务器端技术,是动态网页,能够完成用户和系统之间的交互
3.动态网页的工作过程(web(网页)项目的工作过程):
 ---不用安装客户端的项目是b/s:我们用的就是b/s,通过浏览器进行访问。b是浏览器的意思,s是服务器的意思。优点:后期维护容易,但是速度没有c/s快
 ---需要安装客户端的项目是c/s:需要安装客户端插件才能进行信息交互(例如QQ,oracle)
4.当客户端给服务器端发送地址时候,客户端会下载服务器端的一个文件(html文件),下载之后显示在客户端电脑上。这个过程就是客户端与服务器端的请求和响应。
5.web项目的目录结构:
  ---java EE里面的jar包在myseclipse中放着呢
  ---jre System是jdk的核心类库
  ---webroot:是web项目的根目录,放所有资源文件(例如css样式,图片,javascript等,jsp,html也是)
          ---MATE-INF:放着项目的描述
          ---WEB-INF:里面有lib和web.xml。其中lib放的是项目中的所有jar包。web.xml:是个xml文件,是配置文件
               注意:lib下放好jar包后会自动生成referenced libraries。不用程序员在右键添加了。
  ---自定义文件夹(例如images等)
6.当我们输入一个jsp网址的时候,就会打开一个网页,我们右键查看源代码的时候看不到jsp中的java代码了,全部是html的代码,我们能够查看源代码是因为
 客户端把服务器端响应的东西下载到本地显示了,并且把j服务器端的java代码装换成了html代码。
                     
7.jsp的含义是(java service 配置):java动态网页
---<%@ %>:是jsp指令。其中属性page是指定脚本语言。import是导包。pageEncodeing是设置本页jsp页面字符的编码格式
--<%%>用来嵌套java代码
--<%= %>:输出表达式的值
--<base href="<%=basePath%>">表示输出结果为basePath,是此网页的全路径
---<%!%>:表示用来定义全局变量或者方法。!表示的意思是声明
---<!---html注释-->  <%---jsp注释,不会下载到客户端--%>
8.web项目的运行,是在web项目的容器中(tomcat服务器)
     ---bin目录里statrup是启动服务器,shutdown是关闭服务器
     ---conf(目录是放的是配置文件)。其中有一个servlet.xml。tomcat-users.xml是配置tomcat服务器的管理员账户
     ---webapps(web项目的发布目录):是程序执行的目录,是执行路径,当webbapps中有这个项目的时候,在tomcat的主页面才能看到这个项目名。
         而在myseclipse中右键项目最后一个,我们看到的地址是开发时候的地址
     ---work下的Catalina是缓存目录
9.tomcat6.0是个服务器。第一个是安装目录,配置上之后就配置jdk,add后找jre的安装路径(的家),因为jdk大于jre,因此就加jdk就行了。
10.把myseclipse中的项目部署到tomcat服务器中。 
第二:代码实现
1.jsp页面实现添加操作
ge language="java" import="java.util.*" pageEncoding="UTF-8" contentType="application/msword; charset=utf-8"%>
<%@ page  import="com.dao.StuDao"%>
<%@ page  import="com.dao.impl.StuDaoImpl,com.entity.Student5"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     </head>
 
  <body>
  <h3>添加操作</h3>
    <%
     StuDao sd= new StuDaoImpl();
      Student5 stu=new Student5("张三",33,"男");
      int row=sd.addStu(stu);
      if(row>0){
          out.println("添加成功!!!");
      }
    %>
  </body>
</html> 
2.jsp页面实现查询操作
<%@ page language="java" import="java.util.*,com.entity.*,com.dao.*,com.dao.impl.*" contentType="application/msword; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'search.jsp' starting page</title>  
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">    
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">  </head>
  <!-- 在表头的时候我们用了application/msword而不是用的type/css,这个application/msword表示用word打开或者保存。 -->
  <!-- 设置响应的 头信息,以word文档保存,保存名称为chuyongye。-->
   <%
 response.setHeader("Content-Disposition","attachement;filename=chuyongye.doc") ;
  %>
  <body>
  
  
  <table align="center" border="1" style="width: 400px">
  <tr>
  <th>学号</th>
  <th>姓名</th>
  <th>年龄</th>
  <th>性别</th>
  <th>操作</th>
  </tr>
    <%
       StuDao stu=new StuDaoImpl();
       List<Student5> list=stu.search();
       if(list.size()>0){
       for(Student5 s:list){
    %>
    
    <tr>
    <td><%=s.getSno() %></td>
    <td><%=s.getSname() %></td>
    <td><%=s.getSage() %></td>
    <td><%=s.getSsex() %></td>
    <td>!</td>
    </tr>
    
     <% 
       }
       }else{
        out.print("出错了");
       }
     %>
   </table>
  </body>
</html>