Tag: jsp

在jstl中使用javascript变量

我想使用jstl在javascript中迭代HashMap。 可以这样做吗? function checkSelection(group,tvalue){ alert(group); alert(tvalue); alert(“aa”); alert(“t”); alert(“equal”); } 它不会进入内部

JSP,它的工作方式类似于Ruby / Rails / Erb中的yield,layout,content_for

我试图弄清楚如何最有效地重用JSP代码。 我喜欢Rails / erb以这种方式工作的方式……产量,布局,content_for 例: main_layout.erb.html 使用 A simple page Hello, Rails! 在控制器中 layout “main_layout” 使用JSP(不使用额外的框架),我可以得到的最接近的是什么? 我知道JSP包含但是这与yield不同。 有什么建议么? 谢谢

无法转换为org.apache.jasper.r.

我有一个用java实现的Web服务项目,它还包含jsp页面。 我在我的机器上将它部署在jetty 8.1.5上并且它正常工作。 但是,当我使用jetty 8.1.3部署在Windows Server 2003上时,它会出现以下exception: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.runtime.ELContextImpl 这是完整的痕迹: java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.runtime.ELContextImpl at org.apache.jasper.runtime.PageContextImpl.evaluateExpression(PageContextImpl.java:1002) at org.apache.jsp.home.index_jsp._jspService(org.apache.jsp.home.index_jsp:52) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:542) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) […]

关于java web session handeling如何工作的困惑。 使用servlet api和HttpSession对象揭开Cookie和标头差异的神秘面纱

我正在学习Spring安全性和Spring MVC,但我意识到我需要首先学习jsp Servlets并在java环境中学习一般的Web编程。 我有关于HttpServletRequest和HttpServletResponse对象的混淆,以及它们如何用于向请求和响应对象添加标头以及它们与会话的关系。 据我所知,cookie是一种类型的标题,就像Content-type和Accept一样。 java servlet api通过使用特定于使用标头的上下文的方法,可以很容易地使用标头。 例如: response.setContentType(String mimeType) response.setContentLength(int lengthInBytes) 我的困惑从这里开始.. Cookie不是String或int,它是一个对象: response.addCookie(Cookie cookie) response.getCookies() 由于cookie是一种标题,我不能只使用这样的东西: String cookieVal = response.getHeader(“cookie”) 我很难理解会话管理以及它与HttpServletRequest和HttpServletResponse API的关系。什么是HttpSession对象? HttpSession.getAttribute() // What is this getting?? HttpSession.setAttribute(“Bla Bla”, “valuetoset”) // What is this setting?

如何为JSP配置spring boot mvc app?

我是Spring boot(和servlet 3.0)的新手。 我试图用JSP作为视图创建spring mvc项目。 当我从我的控制器返回一个视图时,它没有被解析为JstlView。 这是我做的: @SpringBootApplication public class MyApp extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Controller public class MainController { @RequestMapping( value=”/main” , method = RequestMethod.GET ) public String main(){ return “main”; } @RequestMapping( value=”/” , method = RequestMethod.GET ) public String welcome(){ return “welcome”; } […]

如何在JspTags中访问请求?

我想在扩展SimpleTagSupport的JSP标记内调用request.getContextPath() ,有什么办法吗?

我可以在视图层中找到spring mvc控制器的URL吗?

我认为我需要的是在Django中称为反向URL解析。 假设我有一个类似这样的AddUserController: @Controller @RequestMapping(“/create-user”) public class AddUserController{ … } 我想要的是一些动态查找此控制器的URL或从视图(JSP)形成带有参数的URL的方法,因此我不必将URL硬编码到控制器到处。 这是否可以在Spring MVC中使用?

在Web应用程序中共享会话

我正在使用JSP和Servlets开发Web应用程序(容器: Tomcat7 ,数据库: Oracle10 ) 我开发了一些Web应用程序,如Profile , Reports , Leads 。 然后我开发了一个Login应用程序。 在这个应用程序中,我在Session存储了USERID以及更多的会话属性。 用户登录后,将显示菜单,其中包含指向其他应用程序的链接,例如指向Profile应用程序的链接。 所以当我在用户登录后访问Session时: 如果我尝试使用相同的应用程序(登录)访问会话,那么我将获得具有所有必需属性的会话 但是当我尝试从其他应用程序(如Profiles访问会话时,我将会话视为null 用于检查会话的代码片段 (登录Web应用程序中的Servletfilter) HttpSession session = request.getSession(false); if(session==null) { System.out.println(“Session does not exist… Redirected to LOGIN Page.”); response.sendRedirect(“/ApplicationName/Login.jsp”); } 我正在访问Profile应用程序中的会话以检查用户是否已登录。 然后我搜索了,并且我发现出于安全原因无法从其他应用程序访问Session 。(我还发现可以通过设置crossContext=”true”来完成) 然后我找到了其他选项,比如制作所有应用程序的EAR然后进行部署,但遗憾的是, Tomcat7不支持EAR 。 我是网络环境的新手,所以如果有人在此之前做过这方面的工作,那么请告诉我有什么选择? 提前致谢 UPDATE1 现在我已决定使用EAR ,我将在其中打包所有WAR文件,然后我将尝试在它们之间共享会话。 由于Tomcat不支持EAR我安装了Oracle Glassfish ,然后我创建了Enterprise Application Project ,其中包含两个应用程序1. Login和2. Profiles ,然后创建EAR文件,并将其部署在Glassfish […]

从连接池获取数据库连接

我正在重构其他代码。 我注意到的一件事是关于系统如何从连接池获得连接的方式。 样品是这样的。 在每次调用服务方法时,系统都会在JNDI上为数据源进行上下文查找。 public class CheckinServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { //Obtain Connection InitialContext initialContext = new InitialContext(); javax.sql.DataSource ds = (javax.sql.DataSource) initialContext .lookup(“jdbc/mysqldb”); java.sql.Connection conn = ds.getConnection(); //business logic //redirect } finally { conn.close(); } } } 我确实认为每次这样做都会影响性能。 我正在考虑另外一种方法来解决如何从连接池中检索连接。 我正在考虑使用servlet的init()方法,但我认为这不是最佳的。

在不丢失请求参数的情况下将重定向发送到另一个servlet / JSP。

如何在servlet的doPost()方法中指定重定向到另一个servlet。 目前我正在使用 request.getRequestDispatcher(“/WEB-INF/products.jsp”).forward(request, response); 这是错误的,因为我的产品的doGet()方法中的参数没有被调用和初始化。 登录后我留下了一个空的产品页面:/