关于servlet与jsp&java类传值问题

为了实现单击左侧导航栏,动态改变右侧(一个jsp文件)的内容,需要改变变量var的值,进而实现改变default部分内容的目的(自己想的方法,因为实在是layman。应该有简便快捷的方法,可我不知道。)
详述一下整个流程,以免以后忘记。定义一个java方法,其中定义静态变量var,使得当var被赋予不同的值时default显示不同内容。而赋值的触发条件是单击某个<a>,即onclick。这里面的问题是,如何在jsp里面改变java里的变量值。。。。解决方法就是servelet了。下面是jsp中的js代码,触发条件为
<a href=""onclick=AjaxServlet("list")> 资讯</a>
list是我希望传递给变量var的值
<script>
var req;
function AjaxServlet(pointInfo) {
//获取表单提交的内容
var url="AjaxServlet?id="+pointInfo;
//?之前代表要访问的servlet名称,要在web.xml文件里定义。?后面是传递的值。
console.log(url);
//创建一个XMLHttpRequest对象req
if(window.XMLHttpRequest) {
//IE7, Firefox, Opera支持
req = new XMLHttpRequest();
}else if(window.ActiveXObject) {
//IE5,IE6支持
req = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
open(String method,String url, boolean )函数有3个参数
method参数指定向servlet发送请求所使用的方法,有GET,POST等
boolean值指定是否异步,true为使用,false为不使用。
我们使用异步才能体会到Ajax强大的异步功能。
*/
req.open("POST", url, true);
//console.log("!!!!!!!!!!!!!!!!!!!!");//调试用
//onreadystatechange属性存有处理服务器响应的函数,有5个取值分别代表不同状态
// req.onreadystatechange = callback; //不需要返回值
//send函数发送请求 req.send(null); } </script>
下面是servelet在web.xml文件里的配置,名字自定义。class即创建的java方法url-pattern是在jsp或其他位置调用servelet的方法,可以是自己定义的任何字符串组合(应该是)。
<servlet>
<servlet-name>AjaxServlet</servlet-name>
<servlet-class>Model.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AjaxServlet</servlet-name>
<url-pattern>/AjaxServlet</url-pattern>
</servlet-mapping>
然后。java
package Model; /**
* Created by sinisiter on 2015/7/11.
*/ import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class AjaxServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
System.out.print("Nnnnn!!!!!");//调试时候用的,就不删了
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
String name = request.getParameter("id");//得到传递的值
if(1>0) {
test.pointr=name;//赋值给我要的变量 后面的实现get与put方法神马的,还没搞明白。不过现在是可用的
}
else {
System.out.print("NO!!!!!");
}
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
public String getServletInfo() {
return "Short description";
} }
ok。至此,整个工作结束
个人觉得,无非是servelet名称一致。url-pattern定义正确,还有上面js用的是ajax的方式。
关于servlet与jsp&java类传值问题的更多相关文章
- Servlet与jsp间的传值问题
Servlet与JSP 之间的传值有两种情况:JSP -> Servlet, Servlet -> JSP.通过对象 request和 session (不考虑 application)完 ...
- 【jsp】Servlet与jsp之间的传值
Servlet与JSP 之间的传值有两种情况:JSP -> Servlet, Servlet -> JSP. 通过对象 request和 session (不考虑 application) ...
- Servlet与JSP之间相互传值问题
一.JSP向Servlet传值 JSP向Servlet传值的方式有三种:URL后面跟参数.form表单提交.在JSP内置对象Session设置值. URL后面跟参数 JSP文件:<a href= ...
- Servlet/JSP-04 JSP基础
一. JSP概述 Servlet 是 Java 程序,可以在 Java 程序内部返回一段 HTML 代码(字符串形式)到浏览器,供浏览器解释展示. JSP 是一种脚本语言,在 HTML 内部通过嵌入 ...
- Servlet和JSP中的过滤器都是Java类
JSP 过滤器 Servlet和JSP中的过滤器都是Java类,它们存在的目的如下: 在请求访问后端资源时拦截它 管理从服务器返回给客户端的响应 下面列出了多种常用的过滤器类型: 认证过滤器 数据压缩 ...
- servlet+jsp+java实现Web 应用
servlet+jsp+java实现Web 应用 用java来构建一个web应用是特别容易的事情,jsp和php很像,可以嵌套在html中.程序的结构很简单,也很清楚,本文主要记录下大概的开发过程和环 ...
- JSP编译为Java类
JSP编译为Java类: 注意可以随便写import的内容:可以写类属性.方法.main函数.内部类:可以使用内部类: JSP: <%@ page language="java&quo ...
- 学生管理系统开发代码分析笔记:jsp+java bean+servlet技术
1 序言 学习java web的时候很渴望有一份完整的项目给我阅读,而网上的大部分项目拿过来都无法直接用,好不容易找到了一个学生管理系统也是漏洞百出.在此,我将边修改边学习这份代码,并且加上完全的注释 ...
- servlet+jsp+java实现Web应用
servlet+jsp+java实现Web应用 环境: 1,eclipse 2,tomcat3,eclipse tomcat 插件 开发过程: 1,建立一个Dynamic Web Project 2, ...
随机推荐
- ASP.NET WebForm中前台代码如何绑定后台变量
转载自 http://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有& ...
- Mac下的eclipse 4.6的tomcat插件安装正确姿势
最新版 eclipse 4.6 (Neon) tomcat 插件的安装, 解决tomcat插件tomcatPluginV331不能使用的问题. 1.打开最新版的 eclipse 4.6 (neon), ...
- wikioi 1214 线段覆盖
题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,--N.这些坐标都是区间(-999,999)的整数.有些线段 ...
- PROCESS_YIELD()宏和C语言的switch语句< contiki学习笔记之七>
写在前面: 按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事 ...
- 内容输出Linux文件系统的的实现:创建一个文件的过程
题记:写这篇博客要主是加深自己对内容输出的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 考虑上面这个命令: who > userlist 当这个命令完成后,文件系统增加l一 ...
- java 搭建webservice服务+testclient測试
整理别人的日志: 一.什么是webservice 一种构建应用程序的普遍模型,能够在不论什么支持网络通信的操作系统中执行.一种新的web应用程序分支,能够公布.定位通过web调用.它是一个应用组件,为 ...
- 从零开始学习Hadoop--前言
Hadoop是最著名使用最广泛的分布式大数据处理框架,它是用Java开发的. 这本书有一个明确的目标:只要有一台能上网的计算机,就可以让读者在最短的时间内,学会Hadoop的初级开发.所以,这本书只讲 ...
- springMVC3学习(九)--redirect和forward跳转
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...
- Sublime Text 备忘
Sublime Text已经被传成编程利器,那当然也是我们前端的利器了,刚开始用的时候,很多小问题,所以做个备忘,忘记的时候也可以翻出来看看,下次重装的时候可以用到. 1.设置自动换行 菜单栏 Vie ...
- mysql 5.1 到 mysql 5.2的出现的索引BTREE问题 use near 'USING BTREE
转自:http://hi.baidu.com/our_poll/item/669c5ce885b33ff1e0a5d4fc 我本机测试是安装的 mysql 5.1 , 但服务器上确是使用的 mysql ...