JSP要点知识整理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Jsp技术整理

1.web

分为静态页面和动态页面

静态页面-----html页面

动态页面----动态页面是以ASP、PHP、JSP、Perl、或CGI等编程语言制作的,与服务器有交互的页面。

(动态页面技术通常会用到web容器)

Web容器

使用运行在服务器上的一个程序,用来解析动态请求,然后调用相应的代码,返回响应。

对于jsp来说,使用最多的是tomcat

2.servlet

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。

Servlet创建时会写入web.xml

示例:

loginServlet

loginServlet

/login

路径问题:

在我们编写代码的时候,一般会有很多路径,这个时候就会产生路径的问题,在jsp页面中,我们通常使用如下方式:

建立一个basePath:

这样的话,本页面的代码中的路径都会以base为基准了。

在servlet中的提交方法有有get 和post两种:

GET:客户端可见,长度有限制255 ,不能上传文件

Post: 客户端不可见,长度无显示,可以上传文件

请求转发:

在Servlet中处理完请求以后,需要跳转到某个jsp页面,不执行后面的代码,使用:GetrequestDispatcher(“路径”).forword(req,resp);

实行后面的代码则使用incluede替换forword

讲到Servlet请求转发,就要用到

RequestDispatcher接口有两种方法,一种是forward,用于讲请求从一个Servlet传递到服务器上的另外的Servlet、JSP页面或者是HTML文件。另外一种是include,该方法用于在响应中包含其它资源的内容。和forward区别在于:利用include方法将请求转发给其他的

Servlet,被调用的Servlet对该请求作出的响应将并入原先的响应对象中,原先的Servlet还可以继续输出响应信息。而利用forward方法将请求转发给其他的Servlet,将由被调用的Servlet负责对请求做出响应,而原先Servlet的执行则终止。

传递数据:

在jsp中传递数据我们通常使用的是request.setAttribute(“xx”,xx);

request.getAttribute(“xx”)方法;

值得注意的是,在使用getAttribute方法时,取得的对象时object类型,所以我们通常需要对其进行强类型转换。

从form中取值:

在servlet页面中,我们通常会取得前台的表单中,或者url中传递过来的值。

使用request.getparameters(“name”)方法。

取得的类型是String类型,所以对你数字类型的值,我们通常要使用Integer.parseInt()进行转换。

重定向:

重定向和请求转发区别就是:

重定向不会将request和response对象传递到指定的页面。

语法:response.sendRedirect(“地址”);

另外在sevlet中我们通常会因为中文乱码苦恼。

这里有几种解决方法。

1.针对post

Req.setCharacterEncoding(“UTF-8”); (servlet中的这是的编码要与JSP页面保持一致)

2.硬编码

//硬编码

username = new

String(username.getBytes("ISO-8859-1"),"UTF-8");

3.针对get

通常我们为了省事会做一个过滤器,用来解决中文乱码问题。

Cookie:

保存cookie

Cookie c1 = new Cookie(“username”,username); 设置cookie的时效单位s

C1.setMaxAge(60*60*24*365);

保存cookie

Response.addCookie(c1);

读取cookie

String username=””;

String password=””;

Cookie[] arrCookie = request.getCookies();

For(Cookie c:arrCookie){

If(c.getName().equals(“username”)){

Username = c.getValue();

}else if(c.getName().equals(“password”)){

Password = c.getValue();

}

}

相关文档
最新文档