【发布时间】:2014-12-14 09:27:34
【问题描述】:
我在 WEB-INF 目录中有一个名为 kind.html 的 Html 页面,在 WEB-INF 文件夹中有另一个名为 registration.jsp 的 jsp 页面。我需要将此registration.jsp 页面放在WEB-INF 目录中,这样如果用户尝试通过键入其URL 来访问它,它就无法访问。所以我的问题是我如何从 kind.html 导航到 registration.jsp 链接称为 home 我是新手,谢谢。 下面是我的代码 sn-p 和 png 文件
种类.html.................................................. ..
<li class='active'><a href='kind.html'><span>Home</span></a></li>
<li class='has-sub'><a href="registration.jsp"><span>Register</span></a>
.............................registrationcontroller........................................
@RequestMapping(value="/registration",method = RequestMethod.POST)
public @ResponseBody
String firstRegistration(HttpServletRequest req,
HttpServletResponse response) {
response.setContentType("text/html");
RegistrationModel registrationModel = new RegistrationModel();
registrationModel.setFirstName(req.getParameter("first_name"));
System.out.println("controller " + req.getParameter("first_name") );
registrationModel.setLastName(req.getParameter("last_name"));
registrationModel.setPassword(req.getParameter("password"));
registrationModel.setEmailID(req.getParameter("email"));
System.out.println("controller email " + req.getParameter("email"));
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
try {
Date date = format.parse(req.getParameter("BirthDate"));
registrationModel.setDOB(date);
} catch (Exception e) {
e.printStackTrace();
}
String phoneno=req.getParameter("phoneNo");
Integer phoneNo = Integer.parseInt(phoneno);
System.out.println("phone no ...."+phoneNo);
registrationModel.setPhoneNo(phoneNo);
registrationModel.setGender(req.getParameter("gender"));
String age=req.getParameter("Age");
Long AGE = Long.parseLong(age);
registrationModel.setAge(AGE);
registrationModel.setAvtar(req.getParameter("Avtar"));
System.out.println("avtar"+ req.getParameter("Avtar"));
Address address = new Address();
address.setAddressline(req.getParameter("Full-Address"));
address.setCity(req.getParameter("city"));
address.setLandmark(req.getParameter("landmark"));
address.setState(req.getParameter("state"));
String zipCode =req.getParameter("Zipcode");
Long zipcode = Long.parseLong(zipCode);
address.setZipcode(zipcode);
registrationModel.setAddress(address);
registrationService.resgistration(registrationModel);
return "registration.jsp";
}
..........................registration.jsp.........................................................
<form action="registration" method="post">
<fieldset>
<legend>Register Form</legend>
<div>
<input type="text" name="first_name" placeholder="First Name" />
</div>
<div>
<input type="text" name="last_name" placeholder="Last Name" />
</div>
<div>
<input type="password" name="password" placeholder="Password" />
</div>
<div>
<input type="text" name="email" placeholder="Email" />
</div>
<div>
<input type="text" name="BirthDate" placeholder="BirthDate" />
</div>
<div>
<input type="number" name="Age" placeholder="Age" />
</div>
<div>
<select name="gender">
<option value="select">i am..</option>
<option value="m">Male</option>
<option value="f">Female</option>
</select><br> <br>
</div>
<div>
<input type="number" name="phoneNo" placeholder="PhoneNo" />
</div>
<div>
<input type="text" name="Full-Address"
placeholder="Full-Address" />
</div>
<div>
<input type="text" name="landmark" placeholder="landmark" />
</div>
<div>
<input type="text" name="city" placeholder="city" />
</div>
<div>
<input type="text" name="state" placeholder="state" />
</div>
<div>
<input type="number" name="Zipcode" placeholder="Zipcode" />
</div>
<div>
<input type="file" name="Avtar" placeholder="Avtar" />
</div>
<input type="submit" name="submit" value="Send" />
</fieldset>
</form>![folder structure of project][2]
【问题讨论】:
-
点击href为“registration.jsp”的链接与在地址栏中输入registration.jsp的URL没有区别。因此,由于它在 WEB-INF 下,因此无法访问。这是一件好事,因为 JSP 是一个视图(MVC 中的 V)。所有请求都应该发送到控制器(MVC 中的 C)。所以你永远不应该有到 JSP 的链接。仅指向映射到控制器的 URL 的链接(在本例中为指向
/registration的链接)。 -
谢谢 JB Nizet 但我想从 kind.html 导航到 registration.jsp 所以我该怎么做或者这是可能的
标签: java html spring jsp spring-mvc