一个关于.jsp和.do文件的简单问题

roki_chen 2007-10-09 11:17:30
我以前没有作过jsp所以问个简单的问题希望大家帮我解答。
http://xxx.xxx.xxx/web/contentAction.do?method=noticeDetail
这是我们网站的一个连接,其中contentAction.do是不是一个文件呢?为什么我找不到这个文件,只找到一些contentaction.class等等文件
我对这个连接的理解是这样了,这个页面的HTML代码应该是,contentAction.do来动态生成的,现在我希望这个页面只能被一些固定的IP地址访问,请问我应该怎么办呢
...全文
8261 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
everwjj 2009-11-18
  • 打赏
  • 举报
回复
pts/csdn/Plugin/001/face/39.gif][/img]
KingNE 2007-10-10
  • 打赏
  • 举报
回复
.do
可以指向另一个页面
或者另一个action
qiuqiupeng 2007-10-10
  • 打赏
  • 举报
回复
实际*.do是一个映射,一般出现在Struts做的web中(因为struts的原始定义就是*.do),web.xml中是这样定义的
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
例如:contentAction.do是映射到一个contentAction的action上
这个action的定义在struts-config.xml文件中给予定义,你可以在里面定义action,以及MVC结构,
部署启动工程后,载入web.xml文件时候载入了软件的配置结构。
lanseliuying 2007-10-10
  • 打赏
  • 举报
回复
字符串匹配应用equals
if(ipHead.equals("10"))
{
... }
dyw31415926 2007-10-10
  • 打赏
  • 举报
回复
String ipHead= "1";
if(ipHead == "1")
{
System.out.println("你将ipHead指向一个常量,是很特别的情况");
}
String ipHead2 = new String("1");
if( ipHead2 == "1"){
System.out.println("这里不会执行");
}
else{
System.out.println("这样就不行了吧");
}
String ipHead3 = new String("1");
if( ipHead3.equals("1")){
System.out.println("用equals才能满足你的要求");
}
x_chevalier 2007-10-10
  • 打赏
  • 举报
回复

if(ipHead == "10")
{
out.println("你是内网用户");
}



这个错误也太基础了,要用
"10".equals(ipHead)
lv810 2007-10-10
  • 打赏
  • 举报
回复
和url 重写差不多
olivesoup 2007-10-09
  • 打赏
  • 举报
回复
1.contentAction.do不是文件,相当于一个口令,服务器端根据前台传来的口令到相应的类或者方法中进行处理,然后输出形成所需页面。

2.你可以用request.getRemoteAddr()来取得用户的ip,如果符合要求,就输出你的页面。
iskyshop 2007-10-09
  • 打赏
  • 举报
回复
.do是个请求,这个站点在web.xml配置文件中配置了.do的请求都转发给一个servlet来处理,不是个文件,系统遇到这个.do的请求后就会提交给某个servlet来处理,这个servlet会根据具体的配置转发给某个后台的程序进行数据处理,然后给数据传递到页面,最终给页面展现在用户面前,不一定是struts的,这个请求是可以自己随便配置的,你可以配置成.html,这样就是经常看到假静态
seaforce 2007-10-09
  • 打赏
  • 举报
回复
.do应该是用struts框架做的网站形式,你去你的应用服务器里的struts_config.xml文件中可以找到contentAction.do,这是一个类似于动态链接方法,该配置文件会告诉应用服务器该调用哪些文件,进行如何处理,它可以根据页面传入的参数调用不同的处理页面(函数).

可以参照struts框架内容
x_chevalier 2007-10-09
  • 打赏
  • 举报
回复
这是个用struts框架开发的网站,.do指向一个action,在struts的配置文件里有具体的配置

限定IP可以用过滤器
yifengtpf 2007-10-09
  • 打赏
  • 举报
回复
这个需要用到过滤器
通过 request里的方法来获取客户端的ip 然后再判断 是否等于你列举出来的那些ip 如果是就可以进行转发 如果不是就阻止
至于contentAction.do 是一个文件,是一个可以执行的class文件 可以用反编译软件来反编译他 看到
roki_chen 2007-10-09
  • 打赏
  • 举报
回复
谢谢各位回答 我已经明白了contentAction.do

现在我有一个新的问题
我的jdk是1.3.1,string没有split这个方法,
我本来是希望用split(".")来将ip存入数组中但是不行
现在我使用indexOf来查找第一个.
然后用substring(0,ip.indexOf("."))
来获取ip的头,如果是10,192,168...即判断为内网,但是现在出了一个问题

例如
String ipHead = substring(0,ip.indexOf("."))

if(ipHead == "10")
{
out.println("你是内网用户");
}
可是无论我的ipHead是否是10(我out.println ipHead明明是"10"的),该条件都无法成立,不知道是怎么回事?是因为jsp的条件语句有什么特殊吗?
但是如果这样
String ii= "1"
if(ipHead == "1")
{
.....
}
这个条件语句就是成立的

是应为String ipHead = substring(0,ip.indexOf("."))这里的赋值有问题吗?还是怎样
谢谢大家解答

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧