用servlet程序写一个问答程序

20:42 提问
学习servlet,写一个简单的Helloword出现404错误
按赞数排序
不需要 /servlet
web.xml内容贴下来看看。
可以参考 我写的
url里把【/Hello】改成【/HelloServlet】
和你Web.xml里配置的url-pattern一样。
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
采用servlet3.1或者以上的版本!这样就不会有web.xml配置的复杂关系了
访问路径里是不应该带着/servlert的
75关注|231收录
276关注|842收录
1460关注|1353收录
其他相似问题Struts2框架与servlet共存问题
今天在做一个项目的时候遇到了一个很奇怪的问题,这个项目的一部分是之前用servlet写的,但是后边打算用struts写,再加入struts框架配置后发现原先的那部分不能正常访问了,之前没这么做过所以很纳闷,struts2配置自认为写的很熟了,应该没什么问题啊,struts.xml文件改了又改还是找不到错误,后来在看到web.xml时突然眼前一亮。。
原来是所有的请求都被struts2拦截了,struts2把servlet当成action了,因为servlet和action都是没有后缀的。 很是悲剧,要想使servlet和struts各司其职只能是限制struts的拦截范围了,
这里在struts.xml的配置里边加一个这个就可以限制struts只拦截action类型的请求了,当然在发起请求时也是要写清楚http://XXX/XX.action了这个action就不能向之前那样省掉了。下面给出网上的几种方法:方式一:修改servlet的相关配置,统一在servlet后面加上“.servlet”
1.修改web.xml配置文件形如:
jqueryAjaxServlet
com.clzhang.sample.struts2.servlet.jQueryAjaxServlet
jqueryAjaxServlet
/servlet/jqueryAjax.servlet
2.修改调用servlet的地方,形如:
url:'/servlet/jqueryAjax.servlet',
这样就可以正常处理servlet的请求了。此种情况适合于小范围使用servlet的情况。方式二:修改拦截页面配置,就是将struts的相关拦截配置一下修改web.xml文件如下内容:
方式三:自定义Filter实现过滤1.创建实现类,代码参考如下:package com.clzhang.sample.struts2;
import java.io.IOE
import java.util.ArrayL
import java.util.A
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.RequestD
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
import javax.servlet.http.HttpServletR
* 这是一个过滤servlet的filter;就是拦截servlet的处理请求,自行转向处理,而不是由struts处理。
* 有二种过滤方式,一种是判断uri中是否包含“/servlet/”;
* 另一种是所有servlet在初始化参数中指定。
* 需要在web.xml中配置:
com.clzhang.sample.struts2.FilterServlet
并且此过滤器必须在struts2的过滤器上面。
* @author Administrator
public class FilterServlet implements Filter {
public void destroy() {
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)
// 第一种方式(二选 一)
String target = request.getRequestURI();
target = target.lastIndexOf("?") > 0 ? target.substring(
target.lastIndexOf("/") + 1,
target.lastIndexOf("?") - target.lastIndexOf("/")) : target
.substring(target.lastIndexOf("/") + 1);
if (request.getRequestURI().indexOf("/servlet/") > 0) {
// request.getRequestURI()格式应该形如:/st/servlet/jqueryAjax,
// 其中st是项目名,servlet是所有servlet都增加的前缀,用于能够判断出是servlet。
// if只判断请求uri是否包含/servlet/,如果包含则处理;
RequestDispatcher rdsp = request.getRequestDispatcher(target);
rdsp.forward(req, resp);
chain.doFilter(req, resp);
// 第二种方式 (二选 一)
if (this.includes.contains(target)) {
// target取出的值则直接是jqueryAjax,在web.xml中配置即可。
// if判断请求uri最后的那部分是否包含在配置文件中,如果包含,则处理
RequestDispatcher rdsp = request.getRequestDispatcher(target);
rdsp.forward(req, resp);
chain.doFilter(req, resp);
private ArrayList includes = new ArrayList();
public void init(FilterConfig config) throws ServletException {
// 如果使用第二种方式过滤,则需要以下代码
this.includes.addAll(Arrays.asList(config.getInitParameter(
"includeServlets").split(",")));
}2.修改web.xml,类似如下格式:
com.clzhang.sample.struts2.FilterServlet
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
jqueryAjaxServlet
com.clzhang.sample.struts2.servlet.jQueryAjaxServlet
jqueryAjaxServlet
/servlet/jqueryAjax
jsonViewServlet
com.clzhang.sample.struts2.servlet.JsonViewServlet
jsonViewServlet
/servlet/jsonView
注意,redisp必须放置于struts2之前,这样才能够保证它们能够按照正常的顺序处理,否则会出错。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'tomcat web编程一个问题 servlet编程时web.xml怎么写内容_百度知道
tomcat web编程一个问题 servlet编程时web.xml怎么写内容
/localhost\2里的web:&#92。&lt,写入后打不开jsp网页了;apache-tomcat-7;servlet-mapping&
&lt我写的一个servlet类 的类名字为schoolServletA那么是在F;
&lt.xml中写入这一段吗
&servlet-name&/
&lt.0;/url-pattern&apache-tomcat-7;
& reloadable= &servlet-name&&Catalina\&#47?初学很多不理解的;schoolServletA&lt。F;servlet-class&Context path=&
&/file\servlet&/conf\
&lt.XML里面改动呢,有人帮忙说下吗;&2&url-pattern&不过;/这个文件夹一个文件写了另一个盘符里的文件地址。我文件是放在另一个盘符G里的.0;servlet-mapping&schoolServletA&/conf\servlet&gt.64\那是不是应该在G盘里FILE\G:\true&2& docBase=&schoolServletA&lt,连之前写的一些其他的都打不开了;servlet-name&servlet-name&servlet-class&schoolServletA&lt:&#92.64&#92
提问者采纳
我是从来没直接对tomcat的web。通常来说;servlet-class&url-pattern&url-pattern&servlet&gt,然后运行就行,对于servlet的路径配置是在你工程的WebRoot&#47。而配置内容就是你刚才那一段;servlet-name&WEB-INF/servlet-name&/servlet-name&这是你待会jsp页面要写的访问路径;schoolServletA&lt.xml进行配置。
&lt,然后将javaWeb工程部署到服务器上怎么说呢,我也乱了;servlet&gt.xml进行配置;schoolServletA&servlet-mapping&gt。
&&#47,看了你的问题;////schoolServletA&servlet-name&
&/servlet-mapping&//这是servlet所在的目录(这里不要配置错误)
&servlet-class&/schoolServletA&
提问者评价
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Jsp+Servlet+JavaBean学习过程中碰到的问题-java-电脑编程网Jsp+Servlet+JavaBean学习过程中碰到的问题作者:firein 和相关&&今天我试着用Jsp + Servlet + JavaBean 做一个登陆画面碰到几个问题向大家请教一下1,如果用户名和密码没有输入,想实现在页面上的控件旁边输出 请输入XXXX 的提示消息
我现在是在Servlet LoginInServlet.的doPost里面 调用bean LoginIn.java做check& 然后Java code
PrintWriter out = response.getWriter();
out.println(strMsg);
这样页面url会跳到http://localhost:8080/UseServlet/LoginInServlet
显示一行 请输入XXXX 的提示消息想实现在页面上的控件旁边输出 请输入XXXX 的提示消息
怎么做?2,在LoginInServlet代码里面怎么给某个text赋值?3. .net byref参数 java里面怎么实现?------回答---------------回答(5分)---------利用javasCript,在表单提交之前进行验证------回答(8分)---------HTML code
&%@ page language=&java& import=&java.util.*& pageEncoding=&gbk&%&
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&head&
&meta name=&author& content=&& /&
&meta name=&description& content=&& /&
&meta name=&keywords& content=&& /&
&link href=&&%=path %&//szry/css/longLayout.css& rel=&stylesheet& rev=&stylesheet& type=&text/css& media=&all& /&
&script type=&text/javascript&&
var typeFlag =
function formSubmit()
var userCode=document.getElementById(&sysUser.useraccount&);
var user_name=userCode.
var userpwd=document.getElementById(&sysUser.userpwd&);
var user_pwd=userpwd.
if (user_name==&&){
alert(&用户名不能够为空&);
userCode.focus();
if (user_pwd==&&){
alert(&密码不能够为空&);
userpwd.focus();
if(typeFlag=false)
document.LoginForm.submit();
}
&/script&
&/head&
&body&
&div class=&page&&
&div class=&dia_login&&
&form method=&post& action=&& name=&LoginForm&&
&p&&label for=&username&&用户名:&/label&&input
type=&text&
name=&sysUser.useraccount& id=&sysUser.useraccount& onblur=&&/&&/p&
&p&&label for=&userpsd&&密码:&/label&&input
type=&password& name=&sysUser.userpwd& id=&sysUser.userpwd& onblur=&&/&&/p&
&p class=&form_sub&&&input type=&button& name=&& value=&& class=&f_sub_p& onclick=&formSubmit();&/&&input type=&submit& name=&& value=&& class=&f_sub_s& /&&/p&
&p class=&form_error& style=&display:none& id='error'&&span id=&roleNemeHtml& &*&/span&&/p&
&/div&
&/div&
&/body&
&/html&
------回答(5分)---------1. 这个用js就能做,用个隐藏div放在你输入框旁边,监听输入框onblur事件,当光标离开后,检查,没有,就把那个隐藏div显示出来。2. 这个也是在 js里面做。3. 没做过 .net------回答(5分)---------建议考虑js或------回答(5分)---------首选 javascript ,
表单验证啦 , 去 搜一搜....------回答(5分)---------1.在你要验证的文本框旁边放个div什么的,先div里的内容为空,让后在JS验证是如果为空的话就给div的innerText赋值,就赋你想要相应的提示。------回答(5分)---------引用楼主 firein 的回复:今天我试着用Jsp + Servlet + JavaBean 做一个登陆画面碰到几个问题向大家请教一下1,如果用户名和密码没有输入,想实现在页面上的控件旁边输出 请输入XXXX 的提示消息 怎么做?我现在是在Servlet LoginInServlet.java的doPost里面 调用javabean LoginIn.java做check然后Java code……1 2大家都答了。.net中ref就相当于传递个引用在方法内修改了传递的参数后,方法外部可以获取修改后的值。在java中,基本类型不能实现,所以我们只能通过传递Object或者数组。然后改变object中的对象的属性或者数组中的某个元素来达到相同的效果!------回答(2分)---------引用 4 楼 youjianbo_han_87 的回复:1. 这个用js就能做,用个隐藏div放在你输入框旁边,监听输入框onblur事件,当光标离开后,检查,没有,就把那个隐藏div显示出来。2. 这个也是在 js里面做。3. 没做过 .net正解------回答(5分)---------alert(&&);
直接给一个div 赋值 就OK了  js 写的麻烦  用 方便简单&script type=&text/javascript& src=&.//jquery.js&&&/script&&script type=&text/javascript& src=&./jquery/json2.js&&&/script&&script type=&text/javascript&& //在全局 定义验证码
function createCode()
code = &&;
var codeLength = 6;//验证码的长度
var checkCode = document.getElementById(&checkCode&);
var selectChar = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');//所有候选组成验证码的字符,当然也可以用中文的
for(var i=0;i&codeLi++)
var charIndex = Math.floor(Math.random()*36);
code +=selectChar[charIndex];
if(checkCode)
checkCode.className=&code&;
checkCode.value =
function go(path){&
var MrForm=document.forms[0];&
MrForm.action=&
MrForm.submit();&
$(document).ready(function(){&
$(&.pageSize&).blur(function(){var a=$(&#count&).val();var b=$(&.pageSize&).val();if(parseInt(a%b)&0){$(&.ye&).text(parseInt(a/b)+1);&
$(&.ye&).text(parseInt(a/b));&
$(&.pageNo&).val(&1&);&
if(parseInt($(&.pageSize&).val())&parseInt($(&#count&).val())){&
alert(&一共只有&+$(&#count&).val()+&条信息!&);&
$(&.pageSize&).val(&10&);&
$(&.Name&).blur(function name(){&
if($(&.Name&).val().length==0){&
$(&.style1&).text(& *不能为空&).css(&
&color&:&red&&
$(&.style1&).text(& *已经输入&).css(&
&color&:&#268367&&
for(var i=0;i&$(&.Name&).val().i++){var charTest=$(&.Name&).val().toLowerCase().charAt(i);if(
(!(charTest&='0' && charTest&='9')) && (!(charTest&='a' && charTest&='z')) && (charTest!='_')
){$(&.style1&).text(& *特殊字符&).css({&color&:&red&});}else{&
$(&.Desc&).blur(function desc(){&
if($(&.Desc&).val().length==0){&
$(&.style2&).text(& *不能为空&).css(&
&color&:&red&&
$(&.style2&).text(& *已经输入&).css(&
&color&:&#268367&&
$(&.vercode&).blur(function vercode(){&
if($(&.vercode&).val().length==0){&
$(&.style3&).text(& *不能为空&).css(&
&color&:&red&&
$(&.style3&).text(& *已经输入&).css(&
&color&:&#268367&&
if($(&.vercode&).val()==code){&
$(&.style3&).text(& *输入正确&).css(&
{&color&:&#268367&});&
}else{$(&.style3&).text(& *输入错误&).css(&
{&color&:&red&});&
);& $(&.button&).click(function(){ &
if(name()&&desc()&&vercode()){&
go(&users.do?operate=doLogin&);&
createCode();&
createCode();&
$(&.vercode&).val(&&);&
& &/script&&body onload=&createCode()& &&TABLE width=&780& align=&center& CELLSPACING=0 background=&images/bodybg.jpg&&&tr&& &TD valign=TOP&& &/td&&tr&&td&&/td&&/tr&&tr&&td&&/logic:present&&/td&&/tr&&tr&&td&&form name=&MrForm& method=&post& &&br&&br&&div align=&center&&&font color=&red&&${error }&/font&&/div&&table width=&420& height=&257& border=&0& align=&center& cellpadding=&0& cellspacing=&0&&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&380& height=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td height=&5& bgcolor=&#cccccc&&&/td&&
&td colspan=&2& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& rowspan=&12& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td height=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td height=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td height=&27& class=&pt9&&&div align=&center&&欢迎登录系统,请输入您的用户名和密码:&/div&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td height=&13&&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td class=&pt9& width=&90%&&&div align=&center&&用户名:&
&input type=&text& name=&users.userName& class=&Name& size=&15&/&&span class=&style1&&&*&&&&&&&&&/span&&
&/div&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td class=&pt9&&&div align=&center&&密&&&&码:&
&input type=&text& class=&Desc& name=&users.password& size=&15&/&&span class=&style2&&&*&&&&&&&&&/span&&
&/div&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td class=&pt9&&&div align=&center&&验证码:&
&input id=&input1& name=&veryCode& class=&vercode& type=&text& size=&15&/&&span class=&style3&&&*&&&&&&&&&/span&&
&/div&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td class=&pt9&&&div align=&center& &验证码:&
&input type=&text& id=&checkCode& size=&6&/&&&a style=&Cursor:Hand& onclick=&createCode()&&换一张&/a&&&&&&&&/div&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td width=&5& bgcolor=&#aaaaaa&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#eeeeee&&&/td&& &/tr&& &tr&&
&td width=&5& bgcolor=&#eeeeee&&&/td&&
&td width=&5& bgcolor=&#cccccc&&&/td&&
&td width=&5& bgcolor=&#888888&&&/td&&
&td&&div align=&center&&&
&input type=&button& class=&button&
value=&登录& name=&Submit&&&
&input type=&reset& name=&Submit2& value=&清除&&&
&/div&&/td&&/table&------回答(10分)---------如果用户名密码输入错误,在servlet程序中页面跳转的代码前将错误信息存储到一个request或session中,然后在页面用el表达式获得这个值就可以了.如:request.setAttribute(&error&,&用户名或密码错误&);------回答(5分)---------加一个&span id=&userspan&&&/span&document.getElementById(&userspan&).innerHTML(&error&);------回答(5分)---------servlet里面有个信息类(具体名字不太清楚了,你查下API),再用struct1的html标签&html:error&,就给你说这些了,碰到问题再查。。。不难。------回答(5分)---------请求信息进入servlet后,进行判断验证,通过,就转发到登陆成功页面;不通过,回到登陆页面,并将错误信息设置到,那个“信息类里”面,再将其使用struct1的HTML标签显示出来。。就这些。------回答(10分)---------在servlet里面先是获取页面参数,如果用户未输入肯定不能获取到值,然后你就做判断,如果为空,你就将这样的提示信息放在request作用域:如request.setAttribute(&nameEmpty&,&请输入姓名&);和request.setAttribute(&passEmpty&,&请输入密码&);然后就跳转到登陆页面,然后再jsp页面上,写一条语句:&%&
String nameEmpty = (String)request.getAttribute(&nameEmpty&);&
if(nameEmpty == null ||&&.equals(nameEmpty)){&
%&不知道楼主是否是这样的意思?------回答(5分)---------提示要输入用户名密码,用javascript------回答(5分)---------一般的只在客户端校验就可以了,客户端用Jquery感觉更好用------回答(10分)---------呵呵,看来csdn高手和菜鸟的的人数比例失调。楼主是想在servlet验证步骤如下:在登录页面login.jsp的中希望显示错误提示的地方使用el表达式 ${requestScope.errormsg}然后在servlet中 发现错误后1-a) 使用request.setAttrribute(&errormsg&,&用户名或密码不能为空&);再必须使用request.getRequestDispather(&login.jsp&).forward(request,response);调回原来的登录页面即可。------回答---------------回答(5分)---------利用javasCript,在表单提交之前进行验证------回答(8分)---------HTML code
&%@ page language=&java& import=&java.util.*& pageEncoding=&gbk&%&
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&&
&html xmlns=&http://www.w3.org/1999/xhtml&&
&head&
&meta name=&author& content=&& /&
&meta name=&description& content=&& /&
&meta name=&keywords& content=&& /&
&link href=&&%=path %&/jsp/szry/css/longLayout.css& rel=&stylesheet& rev=&stylesheet& type=&text/css& media=&all& /&
&script type=&text/javascript&&
var typeFlag =
function formSubmit()
var userCode=document.getElementById(&sysUser.useraccount&);
var user_name=userCode.
var userpwd=document.getElementById(&sysUser.userpwd&);
var user_pwd=userpwd.
if (user_name==&&){
alert(&用户名不能够为空&);
userCode.focus();
if (user_pwd==&&){
alert(&密码不能够为空&);
userpwd.focus();
if(typeFlag=false)
document.LoginForm.submit();
}
&/script&
&/head&
&body&
&div class=&page&&
&div class=&dia_login&&
&form method=&post& action=&& name=&LoginForm&&
&p&&label for=&username&&用户名:&/label&&input
type=&text&
name=&sysUser.useraccount& id=&sysUser.useraccount& onblur=&&/&&/p&
&p&&label for=&userpsd&&密码:&/label&&input
type=&password& name=&sysUser.userpwd& id=&sysUser.userpwd& onblur=&&/&&/p&
&p class=&form_sub&&&input type=&button& name=&& value=&& class=&f_sub_p& onclick=&formSubmit();&/&&input type=&submit& name=&& value=&& class=&f_sub_s& /&&/p&
&p class=&form_error& style=&display:none& id='error'&&span id=&roleNemeHtml& &*&/span&&/p&
&/div&
&/div&
&/body&
&/html&
------回答(5分)---------1. 这个用js就能做,用个隐藏div放在你输入框旁边,监听输入框onblur事件,当光标离开后,检查,没有,就把那个隐藏div显示出来。2. 这个也是在 js里面做。3. 没做过 .net------回答(5分)---------建议考虑js或------回答(5分)--------- 首选 javascript ,
表单验证啦 , 去 搜一搜....------回答(5分)---------1.在你要验证的文本框旁边放个div什么的,先div里的内容为空,让后在JS验证是如果为空的话就给div的innerText赋值,就赋你想要相应的提示。------回答(5分)---------引用楼主 firein 的回复:今天我试着用Jsp + Servlet + JavaBean 做一个登陆画面碰到几个问题向大家请教一下1,如果用户名和密码没有输入,想实现在页面上的控件旁边输出 请输入XXXX 的提示消息 怎么做?
我现在是在Servlet LoginInServlet.java的doPost里面 调用javabean LoginIn.java做check
然后Java code……1 2大家都答了。.net中ref就相当于传递个引用在方法内修改了传递的参数后,方法外部可以获取修改后的值。在java中,基本类型不能实现,所以我们只能通过传递Object或者数组。然后改变object中的对象的属性或者数组中的某个元素来达到相同的效果!------回答(2分)---------引用 4 楼 youjianbo_han_87 的回复:1. 这个用js就能做,用个隐藏div放在你输入框旁边,监听输入框onblur事件,当光标离开后,检查,没有,就把那个隐藏div显示出来。2. 这个也是在 js里面做。3. 没做过 .net正解------回答(5分)---------alert(&&);
直接给一个div 赋值 就OK了  js 写的麻烦  用jquery 方便简单&script type=&text/javascript& src=&./jquery/jquery.js&&&/script&&script type=&text/javascript& src=&./jquery/json2.js&&&/script&&script type=&text/javascript&&
//在全局 定义验证码
function createCode()
code = &&;
var codeLength = 6;//验证码的长度
var checkCode = document.getElementById(&checkCode&);
var selectChar = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');//所有候选组成验证码的字符,当然也可以用中文的
for(var i=0;i&codeLi++)
var charIndex = Math.floor(Math.random()*36);
code +=selectChar[charIndex];
if(checkCode)
checkCode.className=&code&;
checkCode.value =
function go(path){ &
var MrForm=document.forms[0]; &
MrForm.action= &
MrForm.submit(); &
$(document).ready(function(){ &
$(&.pageSize&).blur(function(){
var a=$(&#count&).val();
var b=$(&.pageSize&).val();
if(parseInt(a%b)&0){
$(&.ye&).text(parseInt(a/b)+1); &
$(&.ye&).text(parseInt(a/b)); &
$(&.pageNo&).val(&1&); &
if(parseInt($(&.pageSize&).val())&parseInt($(&#count&).val())){ &
alert(&一共只有&+$(&#count&).val()+&条信息!&); &
$(&.pageSize&).val(&10&); &
$(&.Name&).blur(function name(){ &
if($(&.Name&).val().length==0){ &
$(&.style1&).text(& *不能为空&).css( &
&color&:&red& &
$(&.style1&).text(& *已经输入&).css( &
&color&:&#268367& &
for(var i=0;i&$(&.Name&).val().i++){
var charTest=$(&.Name&).val().toLowerCase().charAt(i);
(!(charTest&='0' && charTest&='9')) && (!(charTest&='a' && charTest&='z')) && (charTest!='_')
$(&.style1&).text(& *特殊字符&).css({&color&:&red&});
$(&.Desc&).blur(function desc(){ &
if($(&.Desc&).val().length==0){ &
$(&.style2&).text(& *不能为空&).css( &
&color&:&red& &
$(&.style2&).text(& *已经输入&).css( &
&color&:&#268367& &
$(&.vercode&).blur(function vercode(){ &
if($(&.vercode&).val().length==0){ &
$(&.style3&).text(& *不能为空&).css( &
&color&:&red& &
$(&.style3&).text(& *已经输入&).css( &
&color&:&#268367& &
if($(&.vercode&).val()==code){ &
$(&.style3&).text(& *输入正确&).css( &
{&color&:&#268367&}); &
}else{$(&.style3&).text(& *输入错误&).css( &
{&color&:&red&}); &
$(&.button&).click(function(){
if(name()&&desc()&&vercode()){ &
go(&users.do?operate=doLogin&); &
createCode(); &
createCode(); &
$(&.vercode&).val(&&); &
& &/script&&body onload=&createCode()& &&TABLE width=&780& align=&center& CELLSPACING=0 background=&images/bodybg.jpg&&&tr& & &TD valign=TOP&& &/td&&tr&&td&&/td&&/tr&&tr&&td&&/logic:present&&/td&&/tr&&tr&&td&&form name=&MrForm& method=&post& &&br&&br&&div align=&center&&&font color=&red&&${error }&/font&&/div&&table width=&420& height=&257& border=&0& align=&center& cellpadding=&0& cellspacing=&0&& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&380& height=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td height=&5& bgcolor=&#cccccc&&&/td& &
&td colspan=&2& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& rowspan=&12& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td height=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td height=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td height=&27& class=&pt9&&&div align=&center&&欢迎登录系统,请输入您的用户名和密码:&/div&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td height=&13&&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td class=&pt9& width=&90%&&&div align=&center&&用户名: &
&input type=&text& name=&users.userName& class=&Name& size=&15&/&&span class=&style1&&&*&&&&&&&&&/span& &
&/div&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td class=&pt9&&&div align=&center&&密&&&&码: &
&input type=&text& class=&Desc& name=&users.password& size=&15&/&&span class=&style2&&&*&&&&&&&&&/span& &
&/div&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td class=&pt9&&&div align=&center&&验证码: &
&input id=&input1& name=&veryCode& class=&vercode& type=&text& size=&15&/&&span class=&style3&&&*&&&&&&&&&/span& &
&/div& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td class=&pt9&&&div align=&center& &验证码: &
&input type=&text& id=&checkCode& size=&6&/&&&a style=&Cursor:Hand& onclick=&createCode()&&换一张&/a&&&&&&&&/div&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td width=&5& bgcolor=&#aaaaaa&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#eeeeee&&&/td& & &/tr& & &tr& &
&td width=&5& bgcolor=&#eeeeee&&&/td& &
&td width=&5& bgcolor=&#cccccc&&&/td& &
&td width=&5& bgcolor=&#888888&&&/td& &
&td&&div align=&center&& &
&input type=&button& class=&button&
value=&登录& name=&Submit&& &
&input type=&reset& name=&Submit2& value=&清除&& &
&/div&&/td&&/table&------回答(10分)---------如果用户名密码输入错误,在servlet程序中页面跳转的代码前将错误信息存储到一个request或session中,然后在jsp页面用el表达式获得这个值就可以了.如:request.setAttribute(&error&,&用户名或密码错误&);------回答(5分)---------加一个&span id=&userspan&&&/span&document.getElementById(&userspan&).innerHTML(&error&);------回答(5分)---------servlet里面有个信息类(具体名字不太清楚了,你查下API),再用struct1的html标签&html:error&,就给你说这些了,碰到问题再查。。。不难。------回答(5分)---------请求信息进入servlet后,进行判断验证,通过,就转发到登陆成功页面;不通过,回到登陆页面,并将错误信息设置到,那个“信息类里”面,再将其使用struct1的HTML标签显示出来。。就这些。------回答(10分)---------
在servlet里面先是获取页面参数,如果用户未输入肯定不能获取到值,然后你就做判断,如果为空,你就将这样的提示信息放在request作用域:如request.setAttribute(&nameEmpty&,&请输入姓名&);和request.setAttribute(&passEmpty&,&请输入密码&);然后就跳转到登陆页面,然后再jsp页面上,写一条语句:&% &
String nameEmpty = (String)request.getAttribute(&nameEmpty&); &
if(nameEmpty == null ||&&.equals(nameEmpty)){ &
%&不知道楼主是否是这样的意思?------回答(5分)---------提示要输入用户名密码,用javascript------回答(5分)---------一般的只在客户端校验就可以了,客户端用Jquery感觉更好用------回答(10分)---------呵呵,看来csdn高手和菜鸟的的人数比例失调。楼主是想在servlet验证步骤如下:在登录页面login.jsp的中希望显示错误提示的地方使用el表达式 ${requestScope.errormsg}然后在servlet中 发现错误后1-a) 使用request.setAttrribute(&errormsg&,&用户名或密码不能为空&);再必须使用request.getRequestDispather(&login.jsp&).forward(request,response);调回原来的登录页面即可。相关资料:|||||||Jsp+Servlet+JavaBean学习过程中碰到的问题来源网络,如有侵权请告知,即处理!编程Tags:                &                    }

我要回帖

更多关于 servlet示例程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信