jsp运行时错误,代码505?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp运行时错误,代码505?相关的知识,希望对你有一定的参考价值。
我正在学JSP,现在学到标签库了。刚开始遇到是找不到标签库
于是我从装了eclipse,tomcat.然后JSTL的问题就解决了
但是现在又有了新问题,程序如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>jstl.set</title>
</head>
<body>
<center>
<dl><dt>用value属性的值设定某个范围变量的值</dt>
<dd><c:set value="Rechard" var="name"/>
<c:out value="$name"/><dd>
<dd><c:set var="name">
Rechard
</c:set><c:out value="$name"/><dd>
</dl>
</center>
</body>
</html>
运行时页面显示505错误代码为:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /setvalue.jsp(2,16) equal symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:194)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:144)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:157)
org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:435)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:378)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.
请问各位大侠是什么问题啊,应该怎么修改呢????
我采用定制标签库和和配置文件来解决这个问题:把要权限控制的JSP页面元素如BUTTON,作为标签的内容。为受保护的内容起一个唯一的名称,把这个名称作为标签的一个属性。某个角色对某个页面元素或一组页面元素是否有权限,在XML配置文件中描述。
例如,下面的JSP页面有“详细”和“修改”两个按钮。
<%@ taglib uri="http://mytag" prefix="custTag" %>
<html>
<head>
<title>test</title>
</head>
<body >
<form name="form1" >
<table width="600" border="0" cellspacing="0" cellpadding="2" >
<tr>
<td>
<custTag:JspSecurity elementName="employeedetail" >
<input type="button" name="detail" value="详细" >
</custTag:JspSecurity>
<custTag:JspSecurity elementName="employeemodify" >
<input type="button" name="modify" value="修改" >
</custTag:JspSecurity>
</td>
</tr>
</table>
<br>
</form>
</body>
下面XML配置文件内容表示对角色为common的用户,只对名为employeedetail 的页面元素即“详细”按钮有权限,对角色为“admin”的用户,对名为employeedetail 和employeemodify的页面元素即两个按钮都有权限。
<?xml version="1.0" encoding="GB2312"?>
<security>
<htmlElement name="employeedetail" >
<roleName name="common" />
<roleName name="admin" />
</htmlElement>
<htmlElement name="employeemodify" >
<roleName name="admin" />
</htmlElement>
</security>
定制标签类JspSecurityTag继承了BodyTagSupport类。BodyTagSupport有一个变量bodyContent指向起始标志和结束标志之间的内容。JspSecurityTag的私有静态变量roleList保存从XML文件中取到角色和页面元素的对应集合,私有变量ElementName对应页面元素的名称。当解析该定制标签时,首先先取到页面元素的名称,再取到当前用户的角色,如果角色有该页面元素的权限,就显示标签正文(即页面元素),否则不显示。
Pagekage com.presentation.viewhelper.JspSecurityTag;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.util.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.w3c.dom.*;
import java.io.*;
太多了,发不完,自己去看吧
参考资料:http://www.javabus.cn/JavaLinuxArticle/ArticleShow.asp?ArticleID=2058
参考技术A PName=trim(request("name"))PType=request("type")
PMoney=request("money")
PInfo=request("info")
PContact=trim(request("Contact"))
PCategory=trim(request("Category"))
set rsZW=server.createobject("adodb.recordset")
sqltext="select * from [Product] where ID="&request("id")
rsZW.open sqltext,conn,1,3
rsZW("Product_name")=PName
rsZW("Product_type")=PType
rsZW("Product_money")=PMoney
rsZW("Product_info")=PInfo
rsZW("Product_Contact")=PContact
rsZw("Product_Category")=PCategory
rsZW("Product_person")=Session("User")
rsZW.update
rsZW.close
conn.close
response.write "<script language=javascript> window.alert('此客户跟踪成功!');opener.parent.main.location.href='ProductInfo.asp';window.close();</script>"
response.end
else
set rs=server.createobject("adodb.recordset")
sqltext="select * from [Product] where Id="&request("Id")&""
rs.open sqltext,conn,1,1
End If
%>
“从jsp页面代码错误运行sh文件”
我的D:TrinitiApps28 abimplkeystoremy_script.sh
中有一个sh文件,其代码在putty中运行,输出为“hello world”,
我有一个shellandantscriptrunner.jsp
,我必须将此my_script.sh
文件称为"hello world"
输出。
我应该添加什么代码,我收到像create process error=193, create process error=2, and read all, tried all but failed
这样的错误。
您可以在jsp页面中使用java执行脚本:
try {
Process p = Runtime.getRuntime().exec("D:\TrinitiApps28\tabimpl\keystore\sh my_script.sh");
p.waitFor();
System.out.println("exit code: " + p.exitValue());
} catch (Exception e) {
System.out.println(e.getMessage());
}
经过一番研究,同意Gyro和this answer
你在Windows
CMD.EXE
。它使用不同的语法来执行命令。你需要使用sh name.sh
,假设你已经安装了Cygwin
或类似的。为了澄清,Windows没有内置实用程序来支持.sh文件。要运行此类,您需要安装第三方工具,例如Cygwin。
以上是关于jsp运行时错误,代码505?的主要内容,如果未能解决你的问题,请参考以下文章
如何在spring mvc 3.0中的同一jsp中显示运行时错误消息或sql错误消息
jsp问题(菜鸟求救):登录模块的问题,登录时出现505错误