JavaWeb学习之路——jsp与serverlet(一)

Jsp与serverlet

目录架构图如下所示:

1.jsp指令

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

page:位于jsp顶端同一个页面可以有多个

<%@page 属性1="属性值" 属性2=“属性值" ....%>

属性名:language,import,contentType,pageEncoding

include:将一个外部文件嵌入jsp页面中,并解析

taglib:使用标签库定义的新的自定义标签

2.jsp注释

html:<!-- 注释-->   //客户端可见

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

jsp脚本注释://单行注释      /*  多行注释  */

3.jsp脚本

示例:

<%!

int a=1,b=2;//声明一个字符串变量

int add(int a,int c){ //声明函数

return a+c;

%>

<P><%=a%>+<%=b%>的结果是<%=add(1,2)%></P>

脚本片段:<%  %>

声明语法:<%!   %>

表达式语法:<%=%>

4.jsp内置对象

web容器创建的一组对象,不需要new关键字创建它

九大内置对象:

(常用)out、request、response、session、application

(不常用)Page、pageContext、exception、config

Web程序请求响应模式

request:用户发送请求

response:服务器响应请求

out:JSPWright类的实例,向客户端输出内容的常用对象

方法:void println()  ,void clear(),void flush(),........

5.提交方式

get与post区别:

get:以明文的方式通过URL提交数据,数据可以再URL中看到,提交数据不超过2kb,安全性低于post但效率高。

适合提交数据量不大,安全性不高的工作,如搜索,查询等功能

post:与get相反,它将将用户信息封装在html header中。适合提交数据量大且隐蔽的工作,如注册、修改等

6.form表单提交至serverlet方法(IDEA)

示例:

request.setCharacterEncoding("UTF-8");

String name = request.getParameter("username");

String password = request.getParameter("password");

response.setContentType("text/html;charset=utf-8");

response.setHeader("Cache-Control", "no-cache");

PrintWriter out = response.getWriter();

out.write("<script>");

out.write("alert(\"登陆成功!\")");

out.write("</script>");

System.out.println(name);

response.setHeader("refresh","1;url='/jsp/home.jsp'");

具体方法:

根目录地址:http//localhost:8080

请求发送给jsp文件示例:

<form id=form1 name="form1" action="/home.jsp" method="post" >

(1)表单动作及提交方式

action中字段值为src下serverlet文件的位置

<form id=form1 name="form1" action="/serverlet/index" method="post" >

(2)创建serverlet文件

在src新建serverler包,里面新建serverlet文件

(3)配置web.xml文件

<servlet-mapping>     

<servlet-name>likui</servlet-name>         //注册名,与servlet-name一致,可随意命名

<url-pattern>/serverlet/index</url-pattern>      //url路径,为你的serverlet文件url路径

</servlet-mapping>

<servlet>

<servlet-name>likui</servlet-name>     //serverlet注册名,

<servlet-class>serverlet.index</servlet-class>   //对应的serverlet类文件路径

</servlet>

7. request

获取请求的页面参数,封装在request中,方法如下

String getParameter(String name):返回name 指定参数值

void setCharacterEncoding(String name): 设置字符编码

void setHeader(arg1,arg2): 跳转界面

void setAttribute(String key,String value): 设置参数值

String getAtrribute(String key):获取值

String getServerName():获取服务器主机名

8.reponse

响应客户请求的相关信息。

String getCharacterEncoding:返回响应的何种字符编码

PrintWriter getWriter:返回可以向客户端输出字符的一个对象

void sendRedirect():重定向请求,对象不保存

.....

猜你喜欢

转载自blog.csdn.net/kuishao1314aa/article/details/81706722