📄 509.txt
字号:
实现页面的跳转:
(1)在jsp页面实现跳转,用超链接,使用<a></a>标签.
如:<a href="jsp/my.jsp">goto my.jsp</a>
(2)用<form></fomr>里的按钮标签,实现跳转
文件名:index.html
如:<form action="jsp/my.jsp" >
<input type="submit" name="su" value="提交">
</form>
其中action中的路径有两种表示方法,一种是相对,如jsp/my.jsp,它是相对index.html所在的目录;
一种是绝对,如/jsp/my.jsp,如项目所建的结构是源文件src,输出文件是myweb,它会到myweb下去找相应的文件。
(3)用<form></fomr>里的按钮标签,点击按钮,会将相应的请求传到程序中,通过程序控制流程,实现页面跳转。
文件名:index.html
如:<form action="/servlet" >
<input type="submit" name="su" value="提交">
</form>
文件名:web.xml
<web-app>
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>servlet.Servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
</web-app>
在项目下,src下的servlet下的Servlet1.java
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet1 extends HttpServlet{
protected void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException ,IOException{
/*以下二条代码要写在文件尾部,在其后不要再有其他代码,否则可能出现异常*/
/*通过以下两条语句实现页面跳转*/
RequestDispatcher rd=request.getRequestDispatcher("/jsp/my.jsp");
rd.forward(request,response);
}
}
注:在IE地址栏中,出现的地址是www.xiaoben.com/servlet,而不是my.jsp,但实际显示的是my.jsp的页面。
----------------------------------------------------------------------------------------------
将页面中的数据传到程序中:
********************
文件名:index.html
<html>
<body text="pink">
<a href="jsp/my.jsp">goto my.jsp</a>
/*method属性有两个属性值,分别是post和get,post比 get更安全,更有隐蔽,它不会在IE地址栏上显示出一些相关的数据,数据存储量比get大,get容易丢失数据,默认的是post。 */
<form action="/servlet" method="post">
username:<input type="text" name="userName" size=10 maxlength=16><br>
password:<input type="password" name="passWord" size=10 maxlength=16><br>
<br>
<br>
<h3>你喜爱的水果:</h3>
<input type="checkbox" name=check value="c1" checked>苹果<br>
<input type="checkbox" name=check value="c2" >香蕉<br>
<input type="checkbox" name=check value="c3" >桔子<br>
<br>
<br>
<h3>选择你的性别:</h3>
<input type="radio" name=sex value="nan" >男<br>
<input type="radio" name=sex value="nv" checked>女<br>
<h3>选择你的种族:</h3>
<select name="s1" size=4 multiple>
<option value="h">汉族</option>
<option value="m">满族</option>
<option value="z">藏族</option>
<option value="q">其它</option>
</select>
<input type="submit" name="su" value="提交">
</form>
</body>
</html>
*******************
在项目下,src下的servlet下的Servlet1.java
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet1 extends HttpServlet{
protected void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException ,IOException{
/*从页面传到程序的数据或是从程序传到页面的数据,都要进行非空判断,一个是判断是否为null,一个是判断是否为"",
要先判断null。*/
/*如果是单个值,调用HttpServletRequest中的方法getParameter("userName"),其中参数要和你想取出相应页面中的 <form></form>中的如文本框或单选框或复选框等,它们的name属性值要相同,区分大小写*/
String userName=request.getParameter("userName");
String password=request.getParameter("password");
/*如果是q多个值,调用HttpServletRequest中的方法getParameterValues("c1"),其中参数要和你想取出相应页面中的 <form></form>中的如复选框,它们的name属性值要相同,区分大小写*/
String [] arr=request.getParameterValues("c1");
if(arr!=null){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
String sex=request.getParameter("sex");
if(sex!=null){
System.out.println(sex);
}
if(userName!=null){
System.out.println(userName);}
if(password!=null){
System.out.println(password);
}
String[] mice=request.getParameterValues("mice");
if(mice!=null){
for(int i=0;i<mice.length;i++){
System.out.println(mice[i]);
}
}
/*以下二条代码要写在文件尾部,在其后不要再有其他代码,否则可能出现异常*/
RequestDispatcher rd = request.getRequestDispatcher("/jsp/a.jsp");
rd.forward(request,response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -