- 1、为什么我的html连接到jsp显示的是jsp代码而不是页面
- 2、使用电脑上的绝对路径打开jsp文件时,为什么显示的是源代码?
- 3、已经启动了tomcat,JSP文件也放在webapps下,但是用浏览器打开jsp文件显示的只是源代码。怎么做。
- 4、jsp页面跳转代码
- 5、idea 运行JSP后显示源代码是什么情况
- 6、jsp跳转到servlet时,不能显示servlet中内容,而是源代码
说说我的看法。
首先,我也遇到了和你类似的情况。其次,我检查后发现jsp的代码和html的代码都没有问题。但为什么会出现这样的问题呢?原因就在于我用eclipse来运行html文件是选用打开方式中的web浏览器,也就是下图被选中的部分:
事实上,如果选择这种方式来打开html文件(它里面有一个表单,单击提交按钮后,会将输入框里面的内容传给jsp文件,并在jsp文件中显示出来),那么点击提交按钮后就会得到jsp文件的代码。
但是如果你选择如下图被选中的打开方式:
那么用这种方式打开html文件并跳转到jsp文件后,显示的就不会是jsp的源代码了,而是实际上这段代码将要输出的内容。
先给你看下JSP的编译过程:
1.客户端发送请求给web容器
2.web容器将jsp首先转译成servlet源代码
3.web容器将servlet源代码编译成.class 文件
4.web容器执行.class 文件
5.web容器将结果响应给客户端
看明白了吗,JSP并不是浏览器能直接解析JSP的。如果你想看这个JSP就要通过web容器,比如tomcat。
比如Myeclipse可以直接用它自带的插件部署,一键将你web工程下对应的文件部署到tomcat服务器目录下,然后在浏览器中用localhost访问,或者自己手动部署,网上资料很多的,对应文件夹下放什么东西,放好后一样红localhost访问
tomcat,浏览器\源代码\jsp,webapps
比如Myeclipse可以直接用它自带的插件部署,一键将你web工程下对应的文件部署到tomcat服务器目录下,然后在浏览器中用localhost访问,或者自己手动部署,网上资料很多的,对应文件夹下放什么东西,放好后一样红localhost访问
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”
html
head
titleUntitled/title
/head
body
form action=”” id=”loginForm”
input type=”radio” name=”user” value=”0″ checked大学/input
input type=”radio” name=”user” value=”1″ 中学/input
input type=”radio” name=”user” value=”2″ 小学/input
input name=”button” type=”submit” value=”登陆” onClick=”checkInput();” /
/form
/body
script
function checkInput(){
var user = document.getElementsByName(“user”);
var form = document.getElementById(“loginForm”);
var value1 = 0;
for(var i=0;i user.length;i++){
if(user[i].checked)
{
value1 = user[i].value;
break;
}
}
if(value1 == 0){
form.action=”daxue.htm”;
}
if(value1==1){
form.action=”zhongxue.htm”;
}
if(value1==2){
form.action=”xiaoxue.htm”;
}
form.submit();
}
/script
/html
1.这种情况,应该是jsp的内容被当做文本直接显示到了页面上,一般在使用springMVC时可能出现这样的问题,猜测可能使用了springMVC。
2.具体解决方案:
查找web.xml文件,并找到springMVC的相关配置
servlet-mapping
servlet-namespringMVC/servlet-name
url-pattern/*/url-pattern
/servlet-mapping
将上面的内容改为下面的即可 拦截是/ 而不是/*
servlet-mapping
servlet-namespringMVC/servlet-name
url-pattern//url-pattern
/servlet-mapping
原因:在这种情况向springMVC会把*.jsp,*.sql,*.txt都当做txt处理。结果就是直接在浏览器加载了jsp源码。
前两行可以合:resp.setCharacterEncoding(“text/html;charset=gbk”);
然后out.println打页面的时候地一行改为:
out.println(“htmlhead/titleservlet/title/headbody”);
就可以了!
原创文章,作者:LPCXW,如若转载,请注明出处:https://www.506064.com/n/126639.html