❶ 关于jsp文件到底放在哪个文件夹下的问题,困扰很久了,求教啊啊啊。。
这个应该是有要求的 后期除了首页 ,一般都是在类似webapps文件夹下,不过,要在配置文件里配置访问目录,用借口访问,不是直接访问jsp页面;例如:amin/admin.shtml 可以浏览 webapps下admin下admin.jsp页面
❷ 在myeclipse里jsp文件和class文件应各放在哪个文件夹下
1、jsp文件用户自建的,需要创建在WebRoot目录下或其自定义的子目录下
2、.class文件是自动生成的,有两种可能:
1) 如果项目中有.java文件,则存放在src下,编译后的.class存在于WebRoo/WEB-INF/classes目录下
2) jsp文件会先翻译成.java文件,后编译成.class文件,这种class文件存放于tomcat服务器下的work下的对应项目目录中
❸ 4.在Java Web应用中,JSP文件应该放在什么地方,编译后的Servlet和JavaBean应该放在什么地方
新建的web项目来 会有webroot文件夹以及源src文件夹
通常情况下jsp文件会放在webroot文件夹下也可以在其中添加子文件夹
servlet应该在src文件夹中自定义的action包中
javabean在src文件夹自定义的entity包中
❹ 用花生壳添加映射时jsp文件应该放在哪里
花生壳映射的是端口,不是文件地址。jsp文件得放在你的电脑服务器下,如tomcat,如果你放在tomcat根目录下,而且开启是8080端口,那么你就把花生壳映射到8080端口,开启tomcat,访问花生壳的指定域名就能访问jsp了
❺ 为什么web项目中.jsp文件要放在WEBINF下
如果jsp页面放在WEBROOT下,你可以直接在地址栏访问,如果放在WEBINF下,即使在地址栏输入地址也不可以访问,这样就保证了网页在一定程度上的安全,但是总能破解,你可以把这两种方案都试一试
❻ jsp文件到底放在哪里啊,求问~~
路由返回的时候,返回webapp相对于root的地址,建议楼主看一下相对路径,绝对路径,以及java uri的知识
❼ Eclipse新建jsp文件的包应该放在哪里
那个路径可以改啊,是放在webRoot下面,你新建jsp文件的时候,弹出一个对话框,最上面的文本框里有你存放的jsp路径啊,你可以改变的啊,懂了不,不懂就继续问我。
❽ JSP 图片该放哪个文件夹
在JSP同级目录下建一个文件夹images然后图片放里边
❾ eclipse中的struts项目,class文件放哪个目录,JSP文件放哪个目录!
首先要考虑jsp的安全性,通常,jsp页面是放在web程序主目录下或子目录下的。就算用户没有登录,他仍然可以通过以前访问过的jsp路径访问到这些jsp,如果你的程序设计的不是很完善,当用户在这些jsp中提交时,很有可能插入很多错误的或无效的数据。
所以为了jsp的安全,可以有两种方式解决:
1、开发一个自定义标签,在标签中对当前用户是否登录做一个判断,这个判断应该很简单了,你的登录程序应该在用户成功登录后在session中放一些用户信息,所以这里的判断就是判断session中是否有用户信息,如果没有(用户未登录),return SKIP_PAGE(自定义标签中的一个功能)用来跳过整个页面,不要执行;如果有(用户已经登录),return EVAL_PAGE(自定义标签中的一个功能)继续执行页面中的内容。
现在就可以把这个自定义标签加入你的所有jsp页面的顶部,当用户没有登录来访问这些jsp,页面将显示空白。你也可以在自定义标签中修改一下,没有登录时跳转到登录页面去。
2、将所有jsp放到WEB-INF目录下或其子目录下。WEB-INF是应用服务器的安全目录,用户是无法通过url的方式访问到该目录下的任何内容的。但是服务器端的程序可以访问它们,比如Action。
在action中,你可以使用mapping.findForward()来跳转到这些WEB-INF下的jsp,当然你需要在struts- config.xml中配置它们了,和配置一般的jsp路径类似,只是要加上/WEB-INF/page/xxx.jsp这样的。
这种做法就是,用户在前台所有的访问都必须访问一个.do,然后来到一个Action中,在Action中你可以做很多事情了,判断用户是否登录、初始化 jsp的各种数据等等,然后跳转到jsp去;用户在jsp中提交数据后又回到Action来。(参见 /Expert/TopicView3.asp?id=4767304中我的回答)
为了免去在每一个Action都要写一段判断用户是否登录的方法的麻烦,你可以做一个BaseAction,其他的Action都继承它。
大概类似这样,你可以扩展它:
public abstract class BaseAction extends Action {
public BaseAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//在这里判断用户是否登录,如果没有登录就直接return到登录界面去
String strforward = " ";
try {
ActionForward forward = doMainAction(mapping, form, request,
response);
strforward = forward.getName();
}
} catch (Exception e) {
strforward = "homePage ";
}
ActionForward returnActionForward = (mapping.findForward(strforward));
return returnActionForward;
}
public abstract ActionForward doMainAction(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException;
}
每一个继承了BaseAction的Action类,不用实现execute方法,但要实现doMainAction方法,和使用execute方法类似。
以上这些只是说明如何确保jsp的安全性,也只判断了只有登录用户才能操作系统,但没有权限控制。在web项目权限控制是重要而复杂的。一个用户可能关联了一个权限列表,说明这个用户有哪些权限,比如这个用户可能是信息发布人员,他本只能访问CreateInfoAction,另一个用户是信息审核人员,他只能访问AuditInfoAction。现在的问题是这两个Action要怎么和两个权限关联在一起。
你可以在前边提到的doMainAction这个方法的一开始就判断当前用户是否具有某一个权限,如果有则继续执行,否则就return。
这样应该可以简单的实现权限控制了,但不够灵活,并且把权限控制的代码写到Action中,结构也不合理。
所以你可以使用一些安全框架来完成这样的功能,如Acegi,这个框架如果结合spring一起使用效果更好。它要做的事情就是在一个配置文件中设置好url和角色的对应关系,如:
/createInfo.do=creater,admin
/auditInfo.do=auditer,admin
也就是说,admin这个角色可以访问这两个路径,creater角色可以访问前一个路径,auditer这个角色可以访问后一个路径。
acegi要做的事情就是,在用户每一次访问一个路径时(也可能是从一个表单提交来的),就对请求的url进行检查,并检查用户是否具有访问该url的角色,如果没有就跳转到登录界面,否则继续访问后台,这其实就是用几个filter实现的。
开发人员要做的事情就是维护一个用户和角色的对应关系,维护一个url和角色的对应关系,剩下的判断就交给acegi去做了。
acegi很强大,功能不止如此,还有对方法调用的权限检查、记住我的功能等等,但是它的初期配置也是比较复杂的,你需要花一些时间来学习它的配置和原理。
至于加密,你可以考虑https协议的使用。
❿ JSP与Html文件放在哪个文件夹下可以执行
html放到web容器指定的工作目录下即可,jsp需要放到相应的工程目录下