正文
jsp和java代码混用 jsp怎么和java页面交互
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
spring 中如何实现jsp与java的交互
spring中利用mvc框架就可以实现jsp和java交互了。
以下用spring mvc输出hello world为例来说明:
一、项目依赖的jar包:
1.Spring框架依赖的jar包:
日志:commons-logging-1.1.3.jar;
JSTL支持:jakarta-taglibs-standard-1.1.2中的jstl.jar和standard.jar;
2.Spring的jar包:
spring-framework-3.2.5.RELEASE/libs中的jar包(这里为了方便我直接把全部都复制过去了);
把以上的jar包全部复制到项目的WebContent/WEB-INF/lib目录中。
二、在/WEB-INF中添加web.xml文件,文件内容如下:
?xml version="1.0" encoding="UTF-8"?
web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation=" " id="WebApp_ID" version="3.0"
display-nameSpringMVCLesson/display-name
servlet
servlet-nameSpringMVCLesson/servlet-name
servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class
init-param
param-namecontextConfigLocation/param-name
param-valueclasspath:springservlet-config.xml/param-value
/init-param
load-on-startup1/load-on-startup!-- load-on-startup必须放在最后 --
/servlet
!-- Spring MVC配置文件结束 --
servlet-mapping
servlet-nameSpringMVCLesson/servlet-name
url-pattern//url-pattern
/servlet-mapping
/web-app
三、springservlet-config.xml文件配置:
在项目中新建一个resources的Source Folder文件夹,并添加springservlet-config.xml文件。
?xml version="1.0" encoding="UTF-8"?
beans xmlns=""
xmlns:xsi=""
xmlns:p=""
xmlns:context=""
xmlns:util=""
xmlns:mvc=""
xsi:schemaLocation="
"
!-- 默认的注解映射的支持 --
mvc:annotation-driven/
!-- 如果当前请求为“/”时,则转发到“/helloworld/index” --
mvc:view-controller path="/" view-name="forward:/helloworld/index"/
!-- 静态资源映射 --
mvc:resources mapping="/js/**" location="/WEB-INF/js/" /
mvc:resources mapping="/css/**" location="/WEB-INF/css/" /
mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /
mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /
mvc:resources mapping="images/**" location="/WEB-INF/images/" /
!-- 当上面要访问的静态资源不包括在上面的配置中时,则根据此配置来访问 --
mvc:default-servlet-handler/
!-- 开启controller注解支持 --
!-- use-default-filters="false" 只扫描指定的注解 --
context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"
context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/
/context:component-scan
!-- 视图解析器 --
bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/
property name="contentType" value="text/html"/
property name="prefix" value="/WEB-INF/views/"/
property name="suffix" value=".jsp"/
/bean
/beans
mvc:annotation-driven/ 开启注解映射支持,它是为了简化配置的缩写形式,它相当于以下2个配置:
bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/
bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/
由于我们在web.xml文件里面配置的是拦截所有的请求到该servlet,所以我们在这里要对静态资源文件映射作一下配置,否则请求这些资源文件会返回404:
!-- 静态资源映射 --
mvc:resources mapping="/js/**" location="/WEB-INF/js/" /
mvc:resources mapping="/css/**" location="/WEB-INF/css/" /
mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /
mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /
mvc:resources mapping="images/**" location="/WEB-INF/images/" /
!-- 当上面要访问的静态资源不包括在上面的配置中时,则根据此配置来访问 --
mvc:default-servlet-handler/
开启Controller注解支持,并配置只扫描指定包下面的Controller:
context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"
context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/
/context:component-scan
配置视图解析器,并指定视图所在的文件夹:
bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/
property name="contentType" value="text/html"/
property name="prefix" value="/WEB-INF/views/"/
property name="suffix" value=".jsp"/
/bean
添加HelloWorldController,在项目中新建一个web的Source Folder文件夹,并在文件夹下面添加com.demo.web.controllers包,在包中添加一个HelloWorldController类,类中内容如下:
package com.demo.web.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value = "/helloworld")
public class HelloWorldController {
@RequestMapping(value="/index", method = {RequestMethod.GET})
public ModelAndView index(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message", "Hello World!");
modelAndView.setViewName("index");
return modelAndView;
}
}
其中@Controller 注解把该class指定为controller,controller 上的@RequestMapping 注解的 value值指定该controller所映射的请求。
方法上的@RequestMapping 注解指定该方法为一个action,value 值指定该action所映射的请求,method 中的RequestMethod.GET指定该action只接受get请求。
ModelAndView 中的setViewName指定了该action所对应的视图名称,解析视图时会在springservlet-config.xml文件指定的视图文件夹中寻找对应的视图。
添加视图,在项目/WEB-INF文件夹下新建一个views文件夹,并在views中添加index.jsp视图,视图内容如下:
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
titleInsert title here/title
/head
body
${message}
/body
/html
运行项目输出结果:
jsp和java能不能结合使用啊 ,该怎么样结合?
在JSP文件里的%%中写的代码就是JAVA。JSP和ASP是完全不同的东东,是不能写在一起的,但在IIS下,只要与Tomcat或Resin整合,就可以在同一个站点里同时访问ASP和JSP文件。
jsp页面中javascript嵌套java代码段
关键是 %pdao.delpinfo(sfzh);% 这里。
这句在页面加载成功就已经执行了,不受js代码段控制的。(java代码优先执行,并且输出动态内容,生成静态页面后,js才开始执行)
如果要让js控制操作逻辑,去判断是否发送新的请求,可以用ajax、或用js去操作一个form提交,或者用js去操作一个iframe去进行指定url跳转。
总的来说就是用js去发送http请求。
1、写一个新的action或 xxx.jsp,专门执行pdao.delpinfo(sfzh);
2、用ajax,或form,或隐藏的iframe去请求这个xxx.jsp
jsp和java代码混用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jsp怎么和java页面交互、jsp和java代码混用的信息别忘了在本站进行查找喔。