第五周学习内容



  3.30
MyEclipse的配置以及第一个web项目的编写
Web项目的目录结构:
1、src
2、类库
3、WebRoot项目根目录
4、xml 资源文件
Web项目的虚拟路径
Properties-MyEclipse-Web-Web Context-root 可以修改虚拟路径。
如修改为 helloworld,就得用新名字访问。(实际上是改变了文件夹的名称)
使用Eclipse开发时必须要其支持JavaEE开发的。new-web-Dynamic web Project,且需要配置好tomcat等。支持的字符集需要改成UTF-8
修改默认端口号
conf/server.xml

<Connector port="8080"
        protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443"
/>


JSP构成

jsp指令:
page指令:一个页面可以有多个page
include:可将外部文件嵌入该jsp文件中
taglib:定义新的标签库

<%@page 属性1="value"……%>
 常用的三个属性
language 指定JSP页面使用的脚本语言,默认为java
import 应用脚本语言中使用到的类文件,默认为无//不是include
contentType 制定编码方式,默认值为text/html,ISO-8859-1

JSP注释
HTML注释
<!--content-->//客户端可见
JSP注释

<%--注释--%>//客户端不可见
//
/*
*        不可见
**/


JSP脚本
<%java代码%>
JSP声明
在JSP中定义变量与方法
<%!Java代码%>
JSP表达式
在JSP页面中执行的表达式,直接将结果显示到页面上面
<%=表达式%>//表达式不以;结束
JSP页面的生命周期


jspService()方法被用来处理客户端的请求,第一次请求时会执行一个构造方法,每一个请求就创建一个多线程,多个请求就多个线程。要注意线程安全。
用JSP打印99乘法表
(业务逻辑)

for (a = 1;a <10;a++)
    {
     for (b=1;b<=a;b++)
     {
     System.out.print(a+"*"+b+"="+a*b+"\t");
     if(b==c)
      {
      System.out.print("\n");
   c++;
      }
     }
    }



JSP内置对象

web容器创建的一组对象,不需要new就可以使用。

out就是一个内置对象
以下为9大内置对象
常见的:
out\request\response\session\application
不常见的:
Page\pageContext\exception\config

Web程序的请求相应模式
用户发送request
服务器给用户发送response
如:登录时就在request中封装了用户名与密码。

缓冲区
Buffer,用于保存零时数据,

3.31
out对象
为JspWriter类的实例,
有 println、clear方法(在flush后使用回抛出异常)、clearBuffer、flush、getBufferSize、getRemaining、isAutoFlush、close

get 与post 的区别

<form name ="regForm" action="动作/dologin.jsp"method="提交方式/get/post">
</form>

get-明文,在URL可以看到数据,2KB,安全低,效率高——搜索、查询等使用
post-封装在HTML HEADER中,适合提交数据量大,安全性高的用户信息,注册、修改、上传。

HTML代码
表单:
<form >
    <table>
        <tr>
            <td></td>
        </tr>
    </table>
</form>
tomcat出问题了

4.1
&nbsp;才是空格啊啊,不是nbsq

在pageEncoding中也设为“utf-8”才可以显示汉字


表格的设立

request对象
客户端的请求信息被封装在request对象中。
HttpServletRequest类的实例,在完成类的请求之前一直有效。

中文乱码问题解决
request.setCharacterEncoding("utf-8");
    <a href="doLogin.jsp?username=你妹">测试URL传的参数</a>//这个解决不了,只能修改tomcat文档

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

4.2
用户名为:<%=request.getParameter("username")%>
request.getParameterValues("favorite");//返回

request对象的setAttribute()方法可以再属性列表中添加一个属性,与此属性配使用的方法还有 getAttribute和removeAttribute
cookie管理
用于表示用户身份,记录账号与密码,跟踪重复用户。
//cookie没看完
4.3
工作室内完成了:
        1、学工处的Flash Banner修改
        2、招就处的Flash Banner修改
        3、与学工处与音乐学院协调修改网站
4.4

response 对象
response.getWriter().write("hahaha");一定优于其他的out.println方法。除非你使用了out.flush()
sendRedirect(location);这是一个请求重定向,进去就会重定向到location,注意注释掉前面说的flush
请求重定向与请求转发的区别
请求重定向:客户端行为,response.sendRedirect(),2次请求,前一次请求的对象不会保存,URL地址会变
请求转发  :服务器行为,request.getRequestDispatcher().forward(req,resp);一次请求,转发后请求会被保存,URL不会变

session对象
session是一个JSP内置对象
session对象再第一个JSP页面加载时被自动创建
一个会话:从连接到服务器开始到退出访问服务器时被称作一个会话。
访问一个服务器,但又需要在不同的页面中切换,用某种方法来标识是这个用户就需要用到session对象。
是HttpSession的实例

 生命周期
1、创建:客户端第一次访问jsp或者Servlet的时候,服务器会创建一个SessionID。每次客户端发送请求的时候,都会将此SessionId携带过去,服务器对次进行检验。
2、活动:通过超链接打开的新的页面属于同一次会话,当前页面没有全部关闭,重新打开新的浏览器窗口访问同一资源时属于同一次会话。除非关闭所有的页面,重新访问JSPorServlet,时就会创建新的会话,此时会话仍是活动的!!;
3、销毁:调用了session.invalidate()方法;过期、服务器重启
tomcat的默认超时时间为30分钟,或调用setMaxIncactiveInterval()方法设置超时时间//这里的时间是秒
再web.xml文档中配置(添加)
<session-config>
    <session-timeout>
        10//单位为分钟
application对象
实现了用户间的数据的共享,可以存放全局变量。
开始于服务器的启动,终止于服务器的关闭。
在用户前后链接或不同用户之间的连接中,可以对application对象同一属性进行操作。
任何地方对application对象属性的操作都影响到其他用户对此的操作
服务器的启动和关闭决定了application对象的生命
application对象是ServletContext类的实例。
    常用方法:
        1、 setAttribute(String name,Object value)
        2、 getAttribute(String name );
        3、Enumeration attirbutes = application.getAttributeNames();
        4、getServerInfo();
page对象(Object)
类似于java中的this。
getClass();
hashCode();
equals();
copy();
clone();
toString()
notify();
notifyAll();
pageContext对象(PageContext)
提供了对JSP页面内所有的对象以及名字空间的访问。
可以访问本页所在的session,也可以取本页面所在的application的某一属性值
相当于集所有功能的集大成者,访问权限很大
include(xxxx.jsp)
config对象
是在Servlet对象初始化时,JSP引擎传递信息用的——Servlet初始化时所用到的参数,服务器的有关信息——ServeltContext对象,常用方法如下:
getServeltContext
getInitParameter(String name)
getInitparameterNames();//枚举

Exception对象
要想使用他, 要先
isErrorPage ="true";否则无法编译

getMessage();
toString ();
printStackTrace();
FillInStackTrace();

A页面中的异常,设置errorPage=“b.jsp”;
B页面中设置异常为:“isErrorPage="true";”






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值