javascript
java普通类跳转到jsp_JSP跳转到Servlet的两种配置
一、servlet注解
servlet3.0支持使用@WebServlet注解來實現(xiàn)JSP到servlet的跳轉(zhuǎn),此方法不需要配置項目中的web.xml文件。
Test.jsp
TESTTestServlet.java
packagetest;importjava.io.IOException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*** Servlet implementation class TestServlet*/@WebServlet("/TestServlet")public class TestServlet extendsHttpServlet {private static final long serialVersionUID = 1L;publicGameDao() {super();
}protected void service(HttpServletRequest request, HttpServletResponse response) throwsIOException {
System.out.println(request.getParameter("text"));
response.sendRedirect("Test.jsp");
}
}
也可以使用@WebServlet提供更多信息,如以上的@WebServlet可以改為
@WebServlet(
name="testServlet",
urlPatterns="/TestServlet",
loadOnStartup=1 )
上面的@WebServlet告知web容器:
這個Servlet的名稱是testServlet,這是由name屬性指定的(name屬性如果沒有指定則默認為Servlet類完整名稱);
如果客戶端請求的URL是/TestServlet,則由具有testServlet名稱的Servlet來處理,這是由urlpatterns屬性來指定的;
當應用程序啟動后,事實上并沒有創(chuàng)建所有的Servlet實例。容器會在首次請求需要某個Servlet服務(wù)時,才將對應的Servlet類實例化,進行初始化操作,然后在處理請求。這意味著第一次請求該Servle的客戶端,必須等待Servlet類實例化,進行初始動作所必須花費時間,才真正得到請求的處理。
如果希望應用程序啟動時,就把Servlet類載入,實例化并做好初始化動作,可以使用loadOnStartup設(shè)置。設(shè)置大于0的值(默認值-1),表示啟動應用程序后就要初始化Servlet(而不是實例化幾個Servlet)。數(shù)字代表了Servlet的初始順序,容器必須保證有較小數(shù)字的Servlet先初始化,在使用標注的情況下,如果有多個Servlet在設(shè)置loadOnStartup時使用了相同的數(shù)字,則容器實現(xiàn)廠商可以自行決定要如何載入哪個Servlet。
二、配置web.xml
適用范圍廣泛,可以更方便的修改地址映射,便于管理跳轉(zhuǎn)地址等。
跳轉(zhuǎn)測試
Test
test.TestServlet
Test
/TestServlet
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
標簽里的標簽表示的是自定義的一個servlet名,叫啥都行,只要和下邊的標簽里的標簽一致就行。
標簽里的標簽里需要填寫的是servlet的本地位置,比如這里的test.TestServlet表示的就是下邊對應網(wǎng)址需要使用的類為TestServlet,而這個servlet類在test包內(nèi)。
標簽里的標簽表示的是需要攔截的網(wǎng)址,比如這里的/TestServlet表示的就是攔截http://127.0.0.1:8080/Test/TestServlet這個網(wǎng)址。只要跳轉(zhuǎn)到這個網(wǎng)址,服務(wù)器就會攔截請求,將請求發(fā)送給上邊配置的servlet。
總結(jié)
以上是生活随笔為你收集整理的java普通类跳转到jsp_JSP跳转到Servlet的两种配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中如何限制输入非空_项目中的参数
- 下一篇: 电脑怎么录屏电脑如何屏幕录像功能