我在Apache Tomcat中使用簡單的博客servlet中有一段Java代碼。我根據上一頁中的表單生成頁面,其中包括髮布該帖子的鏈接。我希望用戶單擊該鏈接在課程後面調用方法。這是可能的,如果是這樣,怎麼樣?在tomcat中調用servlet中的方法生成HTML
0
A
回答
1
是的。該鏈接可以指向該servlet(或任何servlet),並且在處理該請求時,請調用您喜歡的任何方法。
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
... whatever I want ...
anyMethod(req, res);
... whatever I want again ...
}
1
鏈接生成GET請求。因此,如果您想在GET請求期間執行一些Java代碼,則需要創建一個實現了doGet()
的Servlet,並相應地執行所需的代碼邏輯。
如果必要,可以使用通常的查詢字符串的方式像href="myservlet?name1=value1&name2=value2"
或 - 更多SEO friendly-像href="myservlet/value1/value2"
路徑,您可以訪問使用HttpServletRequest#getPathInfo()
的一部分傳遞請求參數。
處理請求後,servlet需要將請求轉發到JSP以顯示頁面。這可以通過request.getRequestDispatcher("page.jsp").forward(request, response)
完成。
myservlet
後面的servlet類顯然是映射到/myservlet/*
的url-pattern
。
希望這會有所幫助。
[編輯]作爲您後來的評論揭示之一,您想要將請求範圍數據傳遞給下一個請求。這種情況下,只需將它們作爲請求參數傳遞給下一個請求。如果他們已經可以作爲請求參數,然後就去做:
href="myservlet?name1=${param.name1}&name2=${param.name2}"
否則,如果是唯一可用的模型數據,它們,然後像做:
href="myservlet?name1=${data.name1}&name2=${data.name2}"
裏面的doGet()
方法,你可以通過HttpServletRequest#getParameter()
以通常的方式重新獲得它們。
祝你好運。
相關問題
- 1. 未在Tomcat中調用Servlet
- 2. 生成HTML用的Java servlet
- 3. 在Java Servlet中生成HTML響應
- 4. 在servlet的doget()方法中調用init()
- 5. 在Tomcat上用JasperReports生成HTML頁面
- 6. 在servlet中生成JFreeChart
- 7. 無法在動態生成的HTML中調用javascript函數
- 8. jQuery Ajax調用servlet生成的html響應
- 9. 在Servlet abour Servlet生命週期方法
- 10. 在Servlet生成的線程中使用EJB - 不好的做法?
- 11. 無法在cpanel + tomcat中運行servlet
- 12. 無法使servlet在Tomcat中工作6
- 13. Tomcat無法在Eclipse中的Tomcat上部署我的servlet(NoClassDefFoundError)
- 14. 調用doget()方法中servlet的銷燬方法
- 15. 在方法調用中生成編譯錯誤的屬性?
- 16. JSP調用方法Servlet
- 17. 無法從Servlet文件中調用JDBC文件中的方法
- 18. servlet映射在Tomcat中
- 19. 調用Servlet中的servlet
- 20. 在Servlet Post方法沒有從html頁面調用?
- 21. 編譯並調用生成的方法
- 22. 在HTML中調用Javascript方法
- 23. doGet方法在Tomcat 7中運行的servlet中調用兩次,並使用IntelliJ Idea 12創建
- 24. 我在哪裏可以從tomcat的JSP中找到生成的Servlet:運行?
- 25. com.sun.jdi.InvocationException在JDK8中發生調用方法
- 26. 在servlet中獲取原始HTML以生成PDF文件
- 27. 在Tomcat中生成的線程
- 28. 在jQuery中爲json數組生成html的標準方法
- 29. 在C#中生成異步方法調用 - AOP?
- 30. 未在fields_for方法中調用自定義窗體生成器
我的問題是,我需要的數據來自一個頁面上的參數,然後就是下一個靜態文本。我如何將數據從一頁保存到下一頁。我知道這是一個不好的問題。謝謝 – Igman 2009-11-04 23:31:25
謝謝你們。我知道了。你們都很棒。 – Igman 2009-11-04 23:40:12
查看HttpSession。您可以調用getAttribute()和setAttribute()來跨請求存儲數據。 – 2009-11-04 23:43:02