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():重定向請求,對象不保存
.....
總結
以上是生活随笔為你收集整理的JavaWeb学习之路——jsp与serverlet(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 框架之Ioc控制反转
- 下一篇: C语言中指针的使用方法